40 lines
1.1 KiB
PHP
40 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders\Development;
|
|
|
|
use App\Enums\Slides\SliderTypeEnum;
|
|
use App\Lib\Helpers\FileStorageHelper;
|
|
use App\Models\Slide;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
/**
|
|
* FIXME: Definir les tailes d'images pour les slides
|
|
*
|
|
* @package Database\Seeders\Development
|
|
*/
|
|
class SlideSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run()
|
|
{
|
|
FileStorageHelper::removeModelFiles(new Slide());
|
|
foreach (SliderTypeEnum::cases() as $slider) {
|
|
// @phpstan-ignore-next-line
|
|
Slide::factory(3)->make()->each(function (Slide $slide) use ($slider) {
|
|
$slide->slider = $slider;
|
|
$slide->video_id = $slider === SliderTypeEnum::home ? '6B4O-_1CQoI' : '';
|
|
$slide->picture = FileStorageHelper::storeFile(
|
|
new Slide(),
|
|
new \SplFileInfo(\resource_path(
|
|
'../database/factories/assets/slides/default-picture-100x100.png'
|
|
))
|
|
);
|
|
$slide->save();
|
|
});
|
|
}
|
|
}
|
|
}
|