File: D:/HostingSpaces/SBogers10/base.komma.pro/database/seeds/ServicepointSeeder.php
<?php
use App\Servicepoints\Models\Servicepoint;
use App\Servicepoints\Models\ServicepointTranslation;
use App\Site\Site;
use Illuminate\Database\Seeder;
use Illuminate\Support\Collection;
use Komma\KMS\Globalization\Languages\Models\Language;
/**
* @property site
*/
class ServicepointSeeder extends Seeder
{
/*** @var Collection */
private $languages;
/*** @var \Faker\Generator */
private $faker;
/*** @var Site */
private $site;
/**
* Run the seed
*/
public function run()
{
//Create a faker to generate fake data.
$this->faker = Faker\Factory::create();
/** @var Site site */
$this->site = Site::where('slug', '=', 'default')->first();
//Get the languages
$this->languages = Language::whereIn('iso_2', config('seeds.languages'))->get(['id', 'iso_2']);
for ($index = 0; $index < config('seeds.models.servicepoints'); $index++) {
$this->createServicePoint();
}
}
private function createServicePoint() {
$firstname = $this->faker->firstName;
$lastname = $this->faker->lastName;
$servicePoint = new Servicepoint(['name' => $firstname.' '.$lastname]);
$servicePoint->save();
foreach ($this->languages as $language) {
$faker = Faker\Factory::create(strtolower($language->iso_2).'_'.strtoupper($language->iso_2));
$translation = new ServicepointTranslation([
'first_name' => $firstname,
'last_name' => $lastname,
'function' => $faker->jobTitle,
'telephone_label' => $faker->phoneNumber,
'telephone_url' => $faker->e164PhoneNumber,
'email' => $faker->safeEmail,
]);
$translation->language()->associate($language);
$translation->translatable()->associate($servicePoint);
$translation->save();
}
}
}