40 lines
1.5 KiB
PHP
40 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Enums\SeasonalSections\BackgroundEnum;
|
|
use App\Lib\Helpers\FileStorageHelper;
|
|
use App\Models\SeasonalSection;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class SeasonalSectionSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run()
|
|
{
|
|
FileStorageHelper::removeModelFiles(new SeasonalSection());
|
|
$publish_at = now()->subDays(rand(1, 10));
|
|
$unpublish_at = $publish_at->copy()->addDays(rand(10, 20));
|
|
foreach (BackgroundEnum::cases() as $i => $background) {
|
|
SeasonalSection::factory(1)->make()->each(
|
|
function (SeasonalSection $seasonalSection) use ($background, $i, $publish_at, $unpublish_at) {
|
|
$seasonalSection->background = $background;
|
|
$seasonalSection->published = $i === array_key_first(BackgroundEnum::cases()) ? true : false;
|
|
$seasonalSection->publish_at = $publish_at->subMonths();
|
|
$seasonalSection->unpublish_at = $unpublish_at->subMonths();
|
|
$seasonalSection->picture = FileStorageHelper::storeFile(
|
|
new SeasonalSection(),
|
|
new \SplFileInfo(
|
|
\resource_path('../database/factories/assets/seasonalsections/default-picture-362x542.png')
|
|
)
|
|
);
|
|
$seasonalSection->save();
|
|
}
|
|
);
|
|
}
|
|
}
|
|
}
|