ldc-tregalette/database/seeders/Development/LocalCommitmentSeeder.php
2023-12-18 12:42:06 +01:00

52 lines
1.9 KiB
PHP

<?php
namespace Database\Seeders\Development;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\LocalCommitment;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class LocalCommitmentSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table((new LocalCommitment())->getTable())->truncate();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new LocalCommitment())->getTable()));
LocalCommitment::factory(7)->make()->each(function (LocalCommitment $localCommitment) {
$localCommitment->picture1 = FileStorageHelper::storeFile(
new LocalCommitment(),
new \SplFileInfo(
\resource_path('../database/factories/assets/localcommitments/default-picture-587x429.png')
)
);
if ($second = fake()->boolean(75)) {
$localCommitment->picture2 = FileStorageHelper::storeFile(
new LocalCommitment(),
new \SplFileInfo(
\resource_path('../database/factories/assets/localcommitments/default-picture-587x429.png')
)
);
}
if ($second && fake()->boolean(75)) {
$localCommitment->picture3 = FileStorageHelper::storeFile(
new LocalCommitment(),
new \SplFileInfo(
\resource_path('../database/factories/assets/localcommitments/default-picture-587x429.png')
)
);
}
$localCommitment->order = \intval(LocalCommitment::query()->max('order')) + 1;
$localCommitment->saveQuietly();
});
LocalCommitment::query()->first()->updateQuietly(['published' => true]);
}
}