39 lines
1.2 KiB
PHP
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();
|
|
});
|
|
}
|
|
}
|