File manager - Edit - /var/www/html/portal/app/Models/DefesaCivil/TabuaMare.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\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; use Illuminate\Support\Str; class TabuaMare extends Model { use HasApiTokens; use HasFactory; use Notifiable; protected $connection = 'mysql_defesacivil'; public $incrementing = false; protected $keyType = 'string'; protected $table = 'tabuas_mares'; protected $fillable = [ 'id', 'created_at', 'updated_at', 'ano', 'conteudo', 'arquivo_pdf', 'nome_arquivo_original', 'dados_completos', 'localidade', 'nivel_medio', ]; protected $casts = [ 'dados_completos' => 'array', 'nivel_medio' => 'decimal:2', ]; protected static function boot() { parent::boot(); static::creating(function ($model): void { $model->id = Str::uuid(); }); } protected function serializeDate(DateTimeInterface $date): string { return $date->format('Y-m-d H:i:s'); } /** * Retorna a lista de marés para a data informada. */ public function getDadosPorData($data): array { $dataCarbon = Carbon::parse($data); $mes = (int) $dataCarbon->format('m'); $dia = (int) $dataCarbon->format('d'); if (empty($this->dados_completos)) { return []; } if (!isset($this->dados_completos[$mes]) || !isset($this->dados_completos[$mes][$dia])) { return []; } return $this->dados_completos[$mes][$dia]; } /** * Loga informações úteis para depuração de dados de maré. */ public function debugDadosPorData($data): void { $dataCarbon = Carbon::parse($data); $mes = (int) $dataCarbon->format('m'); $dia = (int) $dataCarbon->format('d'); logger('=== DEBUG TabuaMare ==='); logger("Data: $data"); logger("Mês: $mes, Dia: $dia"); logger('Ano do registro: ' . $this->ano); logger('Dados completos existe: ' . (!empty($this->dados_completos) ? 'SIM' : 'NÃO')); if (!empty($this->dados_completos)) { logger('Meses disponíveis: ' . implode(', ', array_keys($this->dados_completos))); if (isset($this->dados_completos[$mes])) { logger('Dias disponíveis no mês ' . $mes . ': ' . implode(', ', array_keys($this->dados_completos[$mes]))); if (isset($this->dados_completos[$mes][$dia])) { logger('Dados encontrados para ' . $dia . '/' . $mes . ': ' . json_encode($this->dados_completos[$mes][$dia])); } else { logger("Dia {$dia} NÃO encontrado no mês {$mes}"); } } else { logger("Mês {$mes} NÃO encontrado"); } } logger('=== FIM DEBUG ==='); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings