2023-03-31 15:20:10 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Database\Seeders;
|
|
|
|
|
|
2023-03-31 15:24:32 +02:00
|
|
|
use App\Models\AppUser;
|
2023-03-31 15:20:10 +02:00
|
|
|
use App\Models\Directory;
|
|
|
|
|
use Illuminate\Database\Seeder;
|
2023-07-13 08:34:54 +00:00
|
|
|
use Illuminate\Support\Facades\DB;
|
2023-03-31 15:20:10 +02:00
|
|
|
|
|
|
|
|
class DirectorySeeder extends Seeder
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Run the database seeds.
|
|
|
|
|
*
|
|
|
|
|
* @return void
|
|
|
|
|
*/
|
|
|
|
|
public function run()
|
|
|
|
|
{
|
2023-07-13 08:34:54 +00:00
|
|
|
|
|
|
|
|
$directory = new Directory();
|
|
|
|
|
$directory->name = [
|
|
|
|
|
"fr" => "Salon",
|
|
|
|
|
"en" => "Salon",
|
|
|
|
|
"de" => "Wohnzimmer",
|
|
|
|
|
"nl" => "Tentoonstelling",
|
|
|
|
|
];
|
|
|
|
|
$directory->directory_id = null;
|
|
|
|
|
$directory->needAuthorization = 0;
|
|
|
|
|
$directory->is_system = 1;
|
|
|
|
|
$directory->order = 1;
|
|
|
|
|
$directory->saveOrFail();
|
|
|
|
|
|
|
|
|
|
$i = 2;
|
|
|
|
|
Directory::factory(14)->make()->each(function (Directory $directory) use (&$i) {
|
2023-03-31 15:20:10 +02:00
|
|
|
$directory->order = $i;
|
|
|
|
|
$directory->saveOrFail();
|
|
|
|
|
$i = $i + 1;
|
|
|
|
|
});
|
2023-03-31 15:24:32 +02:00
|
|
|
|
|
|
|
|
// Seeder for directory_authorizations table.
|
|
|
|
|
$directories = Directory::query()->where('needAuthorization', true)->get();
|
|
|
|
|
AppUser::each(function (AppUser $model) use ($directories) {
|
2023-07-13 08:34:54 +00:00
|
|
|
$offset = rand(DB::table('directories')->min('id') ?? 1, DB::table('directories')->max('id') ?? 15);
|
2023-03-31 15:24:32 +02:00
|
|
|
$length = rand(1, 2);
|
2023-07-13 08:34:54 +00:00
|
|
|
$model->directories()->saveMany($directories->slice($offset, $length));
|
2023-03-31 15:24:32 +02:00
|
|
|
});
|
2023-03-31 15:20:10 +02:00
|
|
|
}
|
|
|
|
|
}
|