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


use App\Komma\Buttons\Models\Button;
use App\Komma\Buttons\Models\ButtonTranslation;
use App\Komma\Globalization\Languages\Models\Language;
use App\Komma\Sites\Models\Site;
use Illuminate\Database\Seeder;
use Illuminate\Support\Collection;

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

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

        $this->createServicesButton($languages);
        $this->createContactButton($languages);
        $this->createProjectsButton($languages);
        $this->createTermsButton($languages);
        $this->createVisionButton($languages);
    }

    /*
     *  TODO: VERTALINGEN TOEVOEGEN!
     */


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

        //...Create the dutch translation
        $translation = new ButtonTranslation(['label' => 'Bekijk onze diensten', 'url' => '/nl/diensten']);
        $language = $languages->where('id', '104')->first();
        $translation->language()->associate($language);
        $translation->translatable()->associate($button);
        $translation->save();

    }

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

        //...Create the dutch translation
        $translation = new ButtonTranslation(['label' => 'Neem contact op', 'url' => '/nl/contact']);
        $language = $languages->where('id', '104')->first();
        $translation->language()->associate($language);
        $translation->translatable()->associate($button);
        $translation->save();

    }

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

        //...Create the dutch translation
        $translation = new ButtonTranslation(['label' => 'Ontdek onze projecten', 'url' => '/nl/projects']);
        $language = $languages->where('id', '104')->first();
        $translation->language()->associate($language);
        $translation->translatable()->associate($button);
        $translation->save();

    }

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

        //...Create the dutch translation
        $translation = new ButtonTranslation(['label' => 'Download', 'url' => '/algemene_voorwaarden.pdf']);
        $language = $languages->where('id', '104')->first();
        $translation->language()->associate($language);
        $translation->translatable()->associate($button);
        $translation->save();
    }

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

        //...Create the dutch translation
        $translation = new ButtonTranslation(['label' => 'Ontdek onze visie', 'url' => '/over-ons']);
        $language = $languages->where('id', '104')->first();
        $translation->language()->associate($language);
        $translation->translatable()->associate($button);
        $translation->save();
    }
}