File: D:/HostingSpaces/SBogers10/vangogh.komma.pro/database/factories/PageRelatedFactories.php
<?php
use App\Komma\Globalization\Languages\Models\Language;
use App\Komma\Pages\Kms\PageService;
use App\Komma\Pages\Models\Page;
use App\Komma\Pages\Models\PageTranslation;
use App\Komma\Sites\Models\Site;
use App\Komma\Sites\SiteServiceInterface;
use Carbon\Carbon;
/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| Here you may define all of your model factories. Model factories give
| you a convenient way to create models for testing and seeding your
| database. Just tell the factory how a default model should look.
|
*/
$factory->define(Page::class, function (Faker\Generator $faker) {
$site = Site::first();
return [
'active' => 1,
'site_id' => $site->id,
'code_name' => '',
'created_at' => Carbon::now(),
'updated_at' => Carbon::now()
];
});
$factory->define(PageTranslation::class, function (Faker\Generator $faker) {
/** @var SiteServiceInterface $siteServiceInterface */
$siteServiceInterface = App::make(SiteServiceInterface::class);
$siteServiceInterface->setCurrentSiteToDefault();
$site = $siteServiceInterface->getCurrentSite();
$language = Language::where('iso_2', '=', 'nl')->first();
$name = $faker->word;
$pageService = new PageService();
$rootPage = $pageService->getRootModelForTree();
/** @var Page $page */
$page = factory(Page::class)->make();
$page->site_id = $site->id;
$page->makeLastChildOf($rootPage);
return [
'slug' => str_slug($name),
'name' => $name,
'description' => $faker->paragraph,
'meta_title' => $faker->word,
'meta_description' => $faker->paragraph,
'language_id' => $language->id,
'page_id' => $page->id,
'created_at' => Carbon::now(),
'updated_at' => Carbon::now()
];
});