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/SampleCoursesSeeder.php
<?php

use App\Komma\Courses\Models\Course;
use App\Komma\Courses\Models\CourseTranslation;
use Illuminate\Database\Seeder;

class SampleCoursesSeeder extends Seeder
{


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

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


        $courses = factory(Course::class, 40)
            ->create()
            ->each(function ($course) use ($treeCourse) {

                $courseTranslation = factory(CourseTranslation::class)->make();
                $course->translations()->save($courseTranslation);

            });

        $courseIds = $courses->pluck('id')->all();
        $courses = Course::whereIn('id', $courseIds)->get();

        $treeLft = $treeCourse->rgt;

        foreach ($courses as $course) {
            $course->lft = $treeLft;
            $treeLft++;

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

            $course->save();
        }

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

    }


}