File manager - Edit - /var/www/html/portal/app/Models/ProjetosProgramas/Etapa.php
Back
<?php namespace App\Models\ProjetosProgramas; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; class Etapa extends Model { protected $connection = 'mysql'; protected $table = 'project_program_stages'; protected $fillable = ['nome']; public $timestamps = false; /** * Ordem de exibição das etapas no formulário de cronograma. * * @var list<string> */ public const NOMES_ORDENADOS = [ 'Iniciação', 'Planejamento', 'Em Fase de Projeto', 'Processo Licitatório', 'Execução', 'Paralisado', 'Monitoramento e Controle', 'Encerramento', ]; /** * @param Builder<static> $query * @return Builder<static> */ public function scopeOrdenadas(Builder $query): Builder { $cases = collect(self::NOMES_ORDENADOS) ->map(fn (string $nome, int $ordem) => 'WHEN ? THEN ' . $ordem) ->implode(' '); return $query->orderByRaw( 'CASE nome ' . $cases . ' ELSE 99 END', self::NOMES_ORDENADOS ); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.13 |
proxy
|
phpinfo
|
Settings