ldc-agis/database/seeders/ExplorerpageSeeder.php
2023-10-20 07:39:18 +00:00

43 lines
1.6 KiB
PHP

<?php
namespace Database\Seeders;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\Commitment;
use App\Models\Explorerpage;
use Illuminate\Database\Seeder;
class ExplorerpageSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// Disable model events to allow Explorerpage creation in seeders.
try {
FileStorageHelper::removeModelFiles(new Explorerpage());
Explorerpage::unsetEventDispatcher();
Explorerpage::factory(1)->create([
'picture_1' => FileStorageHelper::storeFile(new Explorerpage(), new \SplFileInfo(
\resource_path('../database/factories/assets/explorerpages/default-picture-265x364.png')
)),
'picture_2' => FileStorageHelper::storeFile(new Explorerpage(), new \SplFileInfo(
\resource_path('../database/factories/assets/explorerpages/default-picture-265x364.png')
)),
'picture_3' => FileStorageHelper::storeFile(new Explorerpage(), new \SplFileInfo(
\resource_path('../database/factories/assets/explorerpages/default-picture-265x364.png')
)),
]);
$commitments = Commitment::query()->get();
Explorerpage::query()->each(function (Explorerpage $explorerpage) use ($commitments) {
$explorerpage->commitments()->saveMany($commitments->random(\rand(3, 12)));
});
} finally {
Explorerpage::setEventDispatcher(new \Illuminate\Events\Dispatcher());
} //end try
}
}