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/SBogers10/inzigd.komma.pro/database/seeds/SampleWorkshopsSeeder.php
<?php

use App\Komma\Workshops\Models\Workshop;
use App\Komma\Workshops\Models\WorkshopTranslation;
use Illuminate\Database\Seeder;

class SampleWorkshopsSeeder extends Seeder
{


    /**
     * Run the database seeds.
     *
     * php artisan db:seed --class=SampleWorkshopsSeeder
     *
     * @return void
     */
    public function run()
    {

        $treeWorkshop = Workshop::where('lft', '=', 1)->first();
        if (!isset($treeWorkshop)) {
            $treeWorkshop = new Workshop(['active' => 0, 'level' => 0, 'tree' => 1]);
            $treeWorkshop->makeRoot();
            $treeWorkshop->save();
        }


        $workshops = factory(Workshop::class, 40)
            ->create()
            ->each(function ($workshop) {

                $workshopTranslation = factory(WorkshopTranslation::class)->make();
                $workshop->translations()->save($workshopTranslation);

            });

        $workshopIds = $workshops->pluck('id')->all();
        $workshops = Workshop::whereIn('id', $workshopIds)->get();

        $treeLft = $treeWorkshop->rgt;

        foreach ($workshops as $workshop) {
            $workshop->lft = $treeLft;
            $treeLft++;

            $workshop->rgt = $treeLft;
            $treeLft++;

            $workshop->save();
        }

        $treeWorkshop->rgt = $treeLft;
        $treeWorkshop->save();

    }


}