HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/carrotps/carrotps.com/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()
    ];
});