netgescon-day0/app/Models/AnnoGestione.php

66 lines
1.5 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 AnnoGestione extends Model
{
use HasFactory;
protected $table = 'anni_gestione';
protected $fillable = [
'amministratore_id',
'anno_ordinario',
'anno_riscaldamento',
'codice_directory',
'periodo_ordinario_inizio',
'periodo_ordinario_fine',
'periodo_riscaldamento_inizio',
'periodo_riscaldamento_fine',
'attivo'
];
protected $casts = [
'periodo_ordinario_inizio' => 'date',
'periodo_ordinario_fine' => 'date',
'periodo_riscaldamento_inizio' => 'date',
'periodo_riscaldamento_fine' => 'date',
'attivo' => 'boolean'
];
public function amministratore(): BelongsTo
{
return $this->belongsTo(Administrator::class);
}
public function stabili(): HasMany
{
return $this->hasMany(StabileGescon::class);
}
public function rateEmesse(): HasMany
{
return $this->hasMany(RataEmessa::class);
}
public function incassi(): HasMany
{
return $this->hasMany(IncassoPagamento::class);
}
public function scopeAttivi($query)
{
return $query->where('attivo', true);
}
public function scopeByAnno($query, $anno)
{
return $query->where('anno_ordinario', $anno);
}
}