File: D:/HostingSpaces/SBogers10/shop.komma.nl/database/seeds/UserTableSeeder.php
<?php
use App\Addresses\Models\Address;
use App\Users\SiteUser;
use App\Users\SiteUserRole;
use Illuminate\Database\Seeder;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Hash;
use Komma\KMS\Globalization\RegionInfo;
use Komma\KMS\Users\Genders;
/**
* Class UserTableSeeder
*
* Needed for both testing and showcasing purposes
*
* @package App\seeds
*/
class UserTableSeeder extends Seeder
{
public static function getCustomerDefaultCredentials()
{
return [
'email' => 'customer@komma.nl',
'password' => 'Customer123'
];
}
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$regionInfo = RegionInfo::getInstance('nl-NL');
$user = new SiteUser();
$user->role = SiteUserRole::Customer;
$user->email = self::getCustomerDefaultCredentials()['email'];
$user->password = Hash::make(self::getCustomerDefaultCredentials()['password']);
$user->first_name = 'Komma';
$user->last_name = 'Customer';
$user->telephone = '55547854556455';
$user->gender = Arr::random(Genders::getAsArray());
$user->culture = $regionInfo->getName();
$user->is_guest = 0;
$user->save();
$address = new Address([
'first_name' => 'Komma',
'last_name' => 'Customer',
'last_name_prefix' => '',
'street' => 'Randweg-zuid',
'house_number' => '1',
'postal_code' => '6021PW',
'city' => 'Budel',
'country_iso3' => $regionInfo->getThreeLetterISORegionName()
]);
$address->siteUser()->associate($user);
$address->save();
$user->shippingAddress()->associate($address);
$user->invoiceAddress()->associate($address);
$user->accountAddress()->associate($address);
$user->save();
}
}