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/fire-tech/fire-tech.nl/app/KommaApp/Shop/seeds/SampleCategories.php
<?php
/**
 * Created by PhpStorm.
 * User: julesgraus
 * Date: 02/02/2018
 * Time: 11:03
 */

namespace App\KommaApp\Shop\seeds;

use App\KommaApp\Languages\Models\Language;
use App\KommaApp\Shop\Categories\Models\Category;
use App\KommaApp\Shop\Categories\Models\CategoryTranslation;
use Illuminate\Database\Seeder;

class SampleCategories extends Seeder
{
    public function run()
    {
        $rootCategory = Category::find(1);
        if(!$rootCategory) return;

        $windowDecorationCategory = $this->makeCategoryAndTranslation('Window decoration', '', $rootCategory);
        $tools = $this->makeCategoryAndTranslation('Tools', '', $rootCategory);
        $paint = $this->makeCategoryAndTranslation('Paint', '', $rootCategory);

        $blinds = $this->makeCategoryAndTranslation('Blinds', '', $windowDecorationCategory);
        $curtains = $this->makeCategoryAndTranslation('Curtains', '', $windowDecorationCategory);

        $handTools = $this->makeCategoryAndTranslation('Hand tools', '', $tools);
        $powerTools = $this->makeCategoryAndTranslation('Power tools', '', $tools);

        $screwDrivers = $this->makeCategoryAndTranslation('Screwdrivers', '', $handTools);
        $hammersAndMallets = $this->makeCategoryAndTranslation('Hammers and mallets', '', $handTools);

        $drills = $this->makeCategoryAndTranslation('Drills', '', $powerTools);
        $grinders = $this->makeCategoryAndTranslation('Grinders', '', $powerTools);
        $saws = $this->makeCategoryAndTranslation('Saws', '', $powerTools);
    }

    private function makeCategoryAndTranslation(string $name, string $description, Category $parent, int $languageId = 104)
    {
        $language = Language::find($languageId);
        $category = new Category(['code_name' => str_slug($name)]);
        $category->site_id = 1;
        $category->active = 1;
        $category->makeLastChildOf($parent);
        $translation = new CategoryTranslation(['name' => $name, 'meta_title' => $name, 'slug' => str_slug($name), 'description' => $description]);
        $translation->language()->associate($language);
        $category->translations()->save($translation);

        return $category;
    }
}