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/boomdekwekerij.komma.nl/database/seeds/ButtonSeeder.php
<?php


use App\Buttons\Models\Button;
use App\Buttons\Models\ButtonTranslation;
use App\Site\Site;
use Illuminate\Database\Seeder;
use Illuminate\Support\Collection;

class ButtonSeeder extends Seeder
{
    private $buttonList = [
        [
            'name' => 'Neem contact op',
            'url' => '/contact',
        ],
        [
            'name' => 'Wie zijn wij?',
            'url' => '/over-ons',
        ],
        [
            'name' => 'Bekijk onze diensten',
            'url' => '/diensten',
        ],
        [
            'name' => 'Ontdek onze projecten',
            'url' => '/projects',
        ],
        [
            'name' => 'Download algemene voorwaarden',
            'url' => '/algemene_voorwaarden.pdf',
        ],
        [
            'name' => 'Bekijk alle vacatures',
            'url' => '/vacatures',
        ]
    ];

    public function run()
    {
        //Get the default site
        /** @var Site $site */
        $site = Site::where('slug', '=', 'default')->first();

        $languages = $site->languages()->get();

        foreach($this->buttonList as $buttonData) {
            $this->createButton($languages, $buttonData);
        }
    }

    public function createButton(Collection $languages, $buttonData)
    {
        //Create the button itself...
        $button = new Button(['active' => 1, 'name' => $buttonData['name']]);
        $button->save();

        //...Create the dutch translation
        $url = $buttonData['url'] ?? '';

        //...Add "/nl" when multipleLanguages is true
        if(config('app.multipleLanguages')) {
            $url = '/nl'.$buttonData['url'];
        }
        $translation = new ButtonTranslation(['label' => $buttonData['name'], 'url' => $url]);
        $language = $languages->where('id', '104')->first();
        $translation->language()->associate($language);
        $translation->translatable()->associate($button);
        $translation->save();
    }
}