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/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();
    }
}