ldc-arcadia-api/database/seeders/IncoSheetSeeder.php

64 lines
1.9 KiB
PHP
Raw Permalink Normal View History

<?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 IncoSheet entries (paired with IncoCompo when available, or standalone).
*/
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',
],
[
'id' => '4',
'compo_id' => null,
'name' => 'Pain de Mie Brut 500g',
'label' => 'Pain de Mie Nature',
],
];
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 ($data['compo_id'] !== null && ! IncoCompo::query()->where('id', $data['compo_id'])->exists()) {
IncoCompo::factory()->create([
'id' => $data['compo_id'],
'id_inco' => $data['compo_id'],
]);
}
}
}
}