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

37 lines
1.3 KiB
PHP

<?php
namespace Database\Seeders;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\Commitment;
use App\Models\Product;
use Illuminate\Database\Seeder;
class ProductSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
FileStorageHelper::removeModelFiles(new Product());
Product::factory(25)->create([
'picture_thumbnail' => FileStorageHelper::storeFile(new Product(), new \SplFileInfo(\resource_path(
'../database/factories/assets/products/default-picture-332x252.png'
))),
'picture_ambiance' => FileStorageHelper::storeFile(new Product(), new \SplFileInfo(\resource_path(
'../database/factories/assets/products/default-picture-774x515.png'
))),
'picture_packshot' => FileStorageHelper::storeFile(new Product(), new \SplFileInfo(\resource_path(
'../database/factories/assets/products/default-picture-327x252.png'
)))
]);
$commitments = Commitment::query()->get();
Product::query()->each(function (Product $product) use ($commitments) {
$product->commitments()->saveMany($commitments->random(\rand(0, 4)));
});
}
}