netgescon-day0/database/seeders/UnitaTipologieSeeder.php

46 lines
2.3 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class UnitaTipologieSeeder extends Seeder
{
public function run(): void
{
$now = now();
$entries = [
['codice' => 'APP', 'nome' => 'Appartamento', 'categoria' => 'residenziale'],
['codice' => 'UFF', 'nome' => 'Ufficio', 'categoria' => 'commerciale'],
['codice' => 'NEGOZIO', 'nome' => 'Negozio', 'categoria' => 'commerciale'],
['codice' => 'CANT', 'nome' => 'Cantina', 'categoria' => 'pertinenza', 'is_pertinenza' => true],
['codice' => 'BOX', 'nome' => 'Box', 'categoria' => 'pertinenza', 'is_pertinenza' => true],
['codice' => 'POSTO_AUTO', 'nome' => 'Posto Auto', 'categoria' => 'pertinenza', 'is_pertinenza' => true],
['codice' => 'SOFF', 'nome' => 'Soffitta', 'categoria' => 'pertinenza', 'is_pertinenza' => true],
['codice' => 'LOCALE_TEC', 'nome' => 'Locale Tecnico', 'categoria' => 'pertinenza', 'is_pertinenza' => true],
['codice' => 'CONDO_PORTINERIA', 'nome' => 'Portineria Condominiale', 'categoria' => 'condominiale', 'is_condominiale' => true],
['codice' => 'CONDO_BICI', 'nome' => 'Deposito Bici Condominiale', 'categoria' => 'condominiale', 'is_condominiale' => true],
['codice' => 'CONDO_LAVANDERIA', 'nome' => 'Lavanderia Condominiale', 'categoria' => 'condominiale', 'is_condominiale' => true],
['codice' => 'CONDO_PISCINA', 'nome' => 'Piscina Condominiale', 'categoria' => 'condominiale', 'is_condominiale' => true],
['codice' => 'CONDO_GENERIC', 'nome' => 'Area Condominiale', 'categoria' => 'condominiale', 'is_condominiale' => true],
];
foreach ($entries as $entry) {
DB::table('unita_tipologie')->updateOrInsert(
['codice' => $entry['codice']],
array_merge([
'nome' => $entry['nome'],
'categoria' => $entry['categoria'] ?? null,
'is_pertinenza' => $entry['is_pertinenza'] ?? false,
'is_condominiale' => $entry['is_condominiale'] ?? false,
'meta' => $entry['meta'] ?? null,
'updated_at' => $now,
'created_at' => $now,
])
);
}
}
}