Implement seeders for IncoSheet and IncoCompo to populate the database with initial data.
57 lines
1.6 KiB
PHP
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'],
|
|
]);
|
|
}
|
|
}
|
|
}
|
|
}
|