File manager - Edit - /var/www/html/portal/app/Models/DefesaCivil/BoletimMeteorologico.php
Back
<?php namespace App\Models\DefesaCivil; use Carbon\Carbon; use DateTimeInterface; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Notifications\Notifiable; use Illuminate\Support\Str; use Laravel\Sanctum\HasApiTokens; use App\Models\User; class BoletimMeteorologico extends Model { use HasApiTokens; use HasFactory; use Notifiable; protected $connection = 'mysql_defesacivil'; public $incrementing = false; protected $keyType = 'string'; protected $table = 'boletim_meteorologicos'; public const CREATED_AT = 'created_at'; public const UPDATED_AT = 'updated_at'; protected $fillable = [ 'numero_boletim', 'data', 'estado_manha', 'estado_tarde', 'estado_noite', 'temperatura_minima', 'temperatura_maxima', 'umidade_minima', 'umidade_maxima', 'probabilidade_chuva', 'volume_chuva', 'status_aviso_chuva', 'status_aviso_vento', 'status_aviso_ressaca', 'sobreaviso_cemaden_id', 'nivel_de_acao', 'status', 'acoes_programadas', 'observacao', 'created_by', ]; protected $casts = [ 'data' => 'date', ]; public function sobreavisoCemaden(): BelongsTo { return $this->belongsTo(SobreavisoCemaden::class, 'sobreaviso_cemaden_id'); } public function creator(): BelongsTo { return $this->belongsTo(User::class, 'created_by'); } protected static function boot() { parent::boot(); static::creating(function ($model): void { $model->id = Str::uuid(); $model->numero_boletim = self::gerarNumeroBoletim($model->data); }); static::updating(function ($model): void { if ($model->isDirty('data')) { $model->numero_boletim = self::gerarNumeroBoletim($model->data); } }); } /** * Gera o nĂºmero do boletim baseado na data no formato DDD/AAAA. */ public static function gerarNumeroBoletim($data): string { $carbonDate = Carbon::parse($data); $diaDoAno = $carbonDate->dayOfYear; $ano = $carbonDate->year; $diaFormatado = str_pad($diaDoAno, 3, '0', STR_PAD_LEFT); return "{$diaFormatado}/{$ano}"; } protected function serializeDate(DateTimeInterface $date): string { return $date->format('Y-m-d H:i:s'); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings