ldc-arcadia-api/database/seeders/IncoSheetSeeder.php
Jérémy Munsch 1d55dff5f4
feat(seeders): add IncoSheet and IncoCompo seeders
Implement seeders for IncoSheet and IncoCompo to populate the database with initial data.
2026-08-14 10:35:21 +02:00

57 lines
1.6 KiB
PHP

<?php
declare(strict_types=1);
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Infra\Database\Models\IncoCompo;
use Infra\Database\Models\IncoSheet;
final class IncoSheetSeeder extends Seeder
{
/**
* Seed paired IncoSheet and IncoCompo entries.
*/
public function run(): void
{
$sheetDataList = [
[
'id' => '1',
'compo_id' => '1',
'name' => 'Poulet Rôti 1kg',
'label' => 'Poulet Rôti aux Herbes',
],
[
'id' => '2',
'compo_id' => '2',
'name' => 'Salade Niçoise 300g',
'label' => 'Salade Niçoise',
],
[
'id' => '3',
'compo_id' => '3',
'name' => 'Lasagnes Bolognaise 400g',
'label' => 'Lasagnes Bolognaise',
],
];
foreach ($sheetDataList as $data) {
if (! IncoSheet::query()->where('id', $data['id'])->exists()) {
IncoSheet::factory()->create([
'id' => $data['id'],
'compo_id' => $data['compo_id'],
'name' => $data['name'],
'label' => $data['label'],
]);
}
if (! IncoCompo::query()->where('id', $data['compo_id'])->exists()) {
IncoCompo::factory()->create([
'id' => $data['compo_id'],
'id_inco' => $data['compo_id'],
]);
}
}
}
}