ldc-groupe/database/seeders/DynamicPageSeeder.php
2025-11-18 14:07:32 +01:00

39 lines
1.2 KiB
PHP

<?php
namespace Database\Seeders;
use App\Enums\DynamicFieldTypes;
use App\Models\DynamicPage;
use Illuminate\Database\Seeder;
use Illuminate\Support\Str;
use Uwil\LaravelCommon\Helpers\FileHelper;
class DynamicPageSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run(): void
{
DynamicPage::factory(10)->make()
->each(function ($model) {
$content = $model->content;
// Config factories add just one depth of children.
foreach ($model->content as $key => $value) {
$prefix = sprintf("%s_", DynamicFieldTypes::image->name);
if (Str::startsWith($key, $prefix)) {
$content[$key] = FileHelper::storeFile(
$model,
new \SplFileInfo(\resource_path(
'../database/factories/assets/dynamic-pages/100x100.jpg'
))
);
}
}
$model->content = $content;
$model->saveOrFail();
});
}
}