File manager - Edit - /var/www/html/portalHomolog/app/Models/AtivosTi/Licenca.php
Back
<?php namespace App\Models\AtivosTi; use App\Models\Demandas\Demanda; use App\Models\UnidadeOrganizacional; use App\Models\User; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class Licenca extends Model { protected $table = 'licencas_ti'; protected $fillable = [ 'tipo', 'programa', 'unidade_organizacional_id', 'user_id', 'equipamento_id', 'contrato', 'chave_licenca', 'data_inicio', 'data_final', ]; protected $casts = [ 'data_inicio' => 'date', 'data_final' => 'date', ]; public function unidade(): BelongsTo { return $this->belongsTo(UnidadeOrganizacional::class, 'unidade_organizacional_id'); } public function usuario(): BelongsTo { return $this->belongsTo(User::class, 'user_id'); } public function equipamento(): BelongsTo { return $this->belongsTo(Equipamento::class, 'equipamento_id'); } public function demandas(): BelongsToMany { return $this->belongsToMany(Demanda::class, 'demanda_licenca', 'licenca_id', 'demanda_id') ->withTimestamps(); } public function isAlugada(): bool { return $this->tipo === 'alugada'; } public function isVencida(): bool { return $this->data_final !== null && $this->data_final->isPast(); } public function isVencendoEm(int $dias = 30): bool { if ($this->data_final === null) return false; return !$this->isVencida() && now()->diffInDays($this->data_final) <= $dias; } public function getTipoLabelAttribute(): string { return $this->tipo === 'alugada' ? 'Alugada' : 'VitalĂcia'; } public function getTipoColorAttribute(): string { return $this->tipo === 'alugada' ? 'info' : 'success'; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings