76 lines
1.9 KiB
PHP
Executable File
76 lines
1.9 KiB
PHP
Executable File
<?php
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
|
|
|
class StabileContratto extends Model
|
|
{
|
|
use HasFactory;
|
|
|
|
protected $table = 'stabile_contratti';
|
|
|
|
protected $fillable = [
|
|
'stabile_id',
|
|
'fornitore_id',
|
|
'documento_principale_id',
|
|
'titolo',
|
|
'tipo_contratto',
|
|
'categoria_impianto',
|
|
'servizio_label',
|
|
'codice_contratto',
|
|
'riferimento_esterno',
|
|
'stato',
|
|
'data_stipula',
|
|
'decorrenza_dal',
|
|
'decorrenza_al',
|
|
'frequenza_scadenze',
|
|
'giorno_scadenza',
|
|
'giorni_preavviso',
|
|
'rinnovo_automatico',
|
|
'importo_periodico',
|
|
'valuta',
|
|
'dati_contratto',
|
|
'codici_collegati',
|
|
'note',
|
|
'created_by',
|
|
'updated_by',
|
|
];
|
|
|
|
protected $casts = [
|
|
'data_stipula' => 'date',
|
|
'decorrenza_dal' => 'date',
|
|
'decorrenza_al' => 'date',
|
|
'giorno_scadenza' => 'integer',
|
|
'giorni_preavviso' => 'integer',
|
|
'rinnovo_automatico' => 'boolean',
|
|
'importo_periodico' => 'decimal:2',
|
|
'dati_contratto' => 'array',
|
|
'codici_collegati' => 'array',
|
|
'created_at' => 'datetime',
|
|
'updated_at' => 'datetime',
|
|
];
|
|
|
|
public function stabile(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Stabile::class, 'stabile_id');
|
|
}
|
|
|
|
public function fornitore(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Fornitore::class, 'fornitore_id');
|
|
}
|
|
|
|
public function documentoPrincipale(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Documento::class, 'documento_principale_id');
|
|
}
|
|
|
|
public function scadenze(): HasMany
|
|
{
|
|
return $this->hasMany(Scadenza::class, 'stabile_contratto_id');
|
|
}
|
|
}
|