Duvida sobre campos de data
[Finalizado Pelo Aluno]
Olá Carlos, blz?
Estou usando o Laravel 9.
Quando eu vou imprimir na view um campo data, ex,: {{ $tenant->subscribe }}, ele imprmime no formato que está no banco em Inglês (Y-m-d).
Tem algum lugar no laravel que eu consigo configurar o formato para todos os atributos do tipo date de todos os meus modelos?
Ou então dizzer para ele que todo campo date seja feito cast para o Carbon assim como ele faz por default para os campos criated_at e updated_at?
Olhando a documentação para exibir a data no formato correto eu fiz o casting atrtibuto casts:
protected $casts = [
'subscription' => 'datetime:Y-m-d',
'expires_at' => 'datetime:Y-m-d',
];
E na view fiz assim:
<li class="list-group-item"> <strong style="font-size: 0.9rem">Acesso expira em: <br> </strong> {{ $tenant->expires_at?->format('d/m/Y') }} </li>
Mas o ruim dessa abordagem é que tenho que ir em todos os models que tem um atributo do tipo date e fazer a configuração.
Olá, Rafael!
Como vai?
Você pode criar um accessor, e definir em uma trait, e usar em todos os models que precisar, assim sempre for trabalhar com datas, já estará tudo configurado no formato de saída desejado:
https://laravel.com/docs/10.x/eloquent-mutators#defining-an-accessor
Outra alternativa, seria criar um helper:
https://blog.especializati.com.br/criar-helpers-no-laravel/
Gostei dessa alternativa de criar um helper.
Valeu pela dica. Vou tentar ela.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!