File: D:/HostingSpaces/SBogers10/koen-cox-groendesign.komma.pro/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
{
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();
}
}