netgescon-day0/app/Models/AffittoImmobile.php

131 lines
3.7 KiB
PHP

<?php
namespace App\Models;
use App\Models\DatiBancari;
use App\Models\RubricaUniversale;
use App\Models\Stabile;
use App\Models\UnitaImmobiliare;
use Illuminate\Database\Eloquent\Model;
class AffittoImmobile extends Model
{
protected $table = 'affitti_immobili';
protected $fillable = [
'stabile_id',
'codice_stabile_legacy',
'codice_appartamento',
'proprietario_nome',
'proprietario_intesta',
'descrizione_immobile',
'indirizzo_immobile',
'cap',
'citta',
'provincia',
'nome_inquilino',
'rendita_catastale',
'importo_fitto',
'particella',
'foglio',
'subalterno',
'destinazione_uso',
'comune_catastale_codice',
'comune_catastale_nome',
'sezione_urbana',
'categoria_catastale',
'classe_catastale',
'consistenza_catastale',
'superficie_catastale_mq',
'interno_catastale',
'piano_catastale',
'numero_registrazione_ade',
'data_registrazione_ade',
'inizio_contratto',
'ultimo_rinnovo',
'prossima_scadenza',
'prossima_registrazione',
'data_fine_contratto',
'giorno_emissione_canone',
'mese_adempimenti_annuali',
'giorno_adempimenti_annuali',
'imposta_registro_annuale',
'quota_imposta_inquilino_percent',
'imposta_bollo_annuale',
'obsoleto',
'obsoleto_dal',
'motivo_obsolescenza',
'note',
'def_ammin',
'descr_1_voce',
'tipo_riga',
'inte_cc',
'iban',
'selez',
'num_ccp',
'autorizz_674',
'unita_immobiliare_id',
'rubrica_inquilino_id',
'conto_bancario_id',
];
protected $casts = [
'inizio_contratto' => 'date',
'ultimo_rinnovo' => 'date',
'prossima_scadenza' => 'date',
'prossima_registrazione' => 'date',
'data_fine_contratto' => 'date',
'data_registrazione_ade' => 'date',
'obsoleto' => 'boolean',
'obsoleto_dal' => 'date',
'giorno_emissione_canone' => 'integer',
'mese_adempimenti_annuali' => 'integer',
'giorno_adempimenti_annuali' => 'integer',
'imposta_registro_annuale' => 'decimal:2',
'quota_imposta_inquilino_percent' => 'decimal:2',
'imposta_bollo_annuale' => 'decimal:2',
'rendita_catastale' => 'decimal:2',
'importo_fitto' => 'decimal:2',
'superficie_catastale_mq' => 'decimal:2',
];
public function stabile()
{
return $this->belongsTo(Stabile::class, 'stabile_id');
}
public function unitaImmobiliare()
{
return $this->belongsTo(UnitaImmobiliare::class, 'unita_immobiliare_id');
}
public function canoniDovuti()
{
return $this->hasMany(AffittoCanoneDovuto::class, 'affitto_id');
}
public function canoniPagati()
{
return $this->hasMany(AffittoCanonePagato::class, 'affitto_id');
}
public function rubricaInquilino()
{
return $this->belongsTo(RubricaUniversale::class, 'rubrica_inquilino_id');
}
public function contoBancario()
{
return $this->belongsTo(DatiBancari::class, 'conto_bancario_id');
}
public function inquilini()
{
return $this->hasMany(AffittoInquilino::class, 'affitto_id');
}
public function clausoleContratto()
{
return $this->hasMany(AffittoContrattoClausola::class, 'affitto_id');
}
}