ldc-agis/database/seeders/ProductSeeder.php
2023-10-23 12:24:37 +02:00

38 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)->make()->each(function (Product $product) {
$product->picture_thumbnail = FileStorageHelper::storeFile(new Product(), new \SplFileInfo(\resource_path(
'../database/factories/assets/products/default-picture-332x252.png'
)));
$product->picture_ambiance = FileStorageHelper::storeFile(new Product(), new \SplFileInfo(\resource_path(
'../database/factories/assets/products/default-picture-774x515.png'
)));
$product->picture_packshot = FileStorageHelper::storeFile(new Product(), new \SplFileInfo(\resource_path(
'../database/factories/assets/products/default-picture-327x252.png'
)));
$product->save();
});
$commitments = Commitment::query()->get();
Product::query()->each(function (Product $product) use ($commitments) {
$product->commitments()->saveMany($commitments->random(\rand(0, 4)));
});
}
}