count(5) ->create(); foreach ($warehouses as $warehouse) { $drivers = User::factory() ->count(10) ->for($warehouse) ->create([ 'role' => RoleEnum::DRIVER ]); foreach ($drivers as $driver) { Car::factory() ->for($driver) ->create(); } User::factory() ->count(2) ->for($warehouse) ->create([ 'role' => RoleEnum::DISPATCHER ]); User::factory() ->for($warehouse) ->create([ 'role' => RoleEnum::ADMIN ]); foreach ($drivers as $driver) { $rndYear = rand(1, 5); $rndDays = rand(1, 7); Delivery::factory() ->count(3) ->for($warehouse) ->for($driver) ->create([ 'status' => StatusEnum::CREATED ]); Delivery::factory() ->count(3) ->for($warehouse) ->for($driver) ->create([ 'status' => StatusEnum::SENT, 'sending_date' => Carbon::now()->subDays($rndDays), ]); Delivery::factory() ->count(200) ->for($warehouse) ->for($driver) ->create([ 'status' => StatusEnum::DELIVERED, 'sending_date' => Carbon::now()->subYears($rndYear)->subDays($rndDays), 'delivery_date' => Carbon::now()->subYears($rndYear), ]); } } } }