Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
В Ларе есть такая штука как Attribute Casting
Я хочу чтобы поля типа date у определенной модели везде выводились в формате дд.мм.гггг - так как это принято в России.
Нашел, что в Laravel 5.8 у модели есть свойство $casts
Я в своей модели задал это свойство
protected $casts = [
'enroll_date' => 'date:DD.MM.YYYY',
'paid_date' => 'date:DD.MM.YYYY',
'paid_untill' => 'date:DD.MM.YYYY',
];
Но при сохранении модели в базу вылетает ошибка
InvalidArgumentException
Unexpected data found. Unexpected data found. Data missing
Помогите решить проблему, пожалуйста. Я хочу чтобы во всем приложении даты выводились в формате привычном в России: DD.MM.YYYY
Не в сети
Я делал так - $variable->created_at->format("d.m.Y")
На выходе получаю - 12.07.2019
Не в сети
Спасибо, что поделились! Да, это самое очевидное решение!
Ещё можно в модели для нужных полей прописать get и set атрибуты.
Но это все много лишних строк кода!
А хочется лаконичности и по идее $casts для этого и придумали.
Не в сети
Дело в том, что некоторые SQL не могут в Российский формат. С проблемой я столкнулся на postgresql
вывожу так же как сказал Morry
tmp[0]->date_passport->format('d.m.Y')
Не в сети
Я использую MySQL и в MySQL меня устраивает в каком формате хранятся данные. Мне только вывод нужен в адаптированном под РФ формате. Ну и соответственно когда сохраняю в базу строку DD.MM.YYYY нужно чтобы сохранялось в формате по-умолчанию.
Не в сети
Страницы 1