2023-02-23 16:23:00 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Database\Seeders;
|
|
|
|
|
|
2023-06-21 10:24:56 +00:00
|
|
|
use App\Enums\Promotions\TypeEnum;
|
2023-02-23 16:23:00 +01:00
|
|
|
use App\Models\Brand;
|
|
|
|
|
use App\Models\Promo;
|
|
|
|
|
use Illuminate\Database\Seeder;
|
|
|
|
|
|
|
|
|
|
class PromoSeeder extends Seeder
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Run the database seeds.
|
|
|
|
|
*
|
|
|
|
|
* @return void
|
|
|
|
|
*/
|
|
|
|
|
public function run()
|
|
|
|
|
{
|
|
|
|
|
$countPromo = 25;
|
|
|
|
|
Promo::factory($countPromo)->create();
|
|
|
|
|
|
|
|
|
|
// Seeder for news_product table.
|
|
|
|
|
$brands = Brand::query()->get();
|
|
|
|
|
Promo::each(function (Promo $promo) use ($brands, $countPromo) {
|
2023-06-21 10:24:56 +00:00
|
|
|
if ($promo->promotype->value->value === TypeEnum::coBranding->value) {
|
2023-02-23 16:23:00 +01:00
|
|
|
$offset = rand(1, $countPromo);
|
|
|
|
|
$length = 1;
|
|
|
|
|
$promo->brands()->saveMany($brands->slice($offset, $length));
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|