File manager - Edit - /var/www/html/gop/api/app/Models/Empenho.php
Back
<?php namespace App\Models; use App\Casts\Money; use Illuminate\Database\Eloquent\Casts\Attribute; class Empenho extends BaseModel { protected $fillable = [ 'numero', 'data', 'valor', 'objeto', 'obra_id', ]; protected $casts = [ 'valor' => Money::class ]; protected $appends = [ 'anexos', 'valor_disponivel', ]; protected function anexos(): Attribute { $arquivos = $this->arquivos; $images = $this->images; $anexos = [ 'arquivos' => $arquivos, 'images' => $images, ]; return new Attribute( get: fn () => $anexos, ); } protected function valorDisponivel(): Attribute { return new Attribute( get: fn () => round($this->valor - $this->notasFiscais()->sum('valor_empenhado'), 2) ); } public function obra() { return $this->belongsTo(Obra::class); } public function images() { return $this->morphMany(Image::class, 'imageable'); } public function arquivos() { return $this->morphMany(Arquivo::class, 'arquivable'); } public function anulacoes() { return $this->hasMany(Anulacao::class); } public function notasFiscais() { return $this->belongsToMany(NotaFiscal::class, 'empenho_nota_fiscal') ->withPivot(['valor_empenhado']); } public function fornecimentos() { return $this->hasMany(Fornecimento::class); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings