Я пытаюсь получить загрузку результатов из базы данных MySQL и отформатировать строку даты в том же запросе. Мои даты в базе данных хранятся как гггг-мм-дд, но меня просят вытащить их как дд-мм-гггг.
Мне интересно, могу ли я вытащить данные обратно и отформатировать их все в 1 или просто как я бы это сделал в целом. Прямо сейчас единственный способ, которым я могу думать, состоит в том, чтобы просмотреть каждый результат и изменить дату, используя Carbon
но я чувствую, что это неправильно и есть лучший способ.
что-то вроде: Post::all()->format('date', 'dd-mm-yyy')
Я понимаю, что это вряд ли будет частью Laravel, но, надеюсь, это даст некоторое представление о том, что я после.
Вы хотите мутатора. С помощью мутатора вы можете преобразовать любое из полей в вашем запросе, чтобы преобразовать его так, как вы хотите, прозрачным, неявным способом.
Я не собираюсь кодировать его для вас, но вот ссылка, чтобы вы могли научиться создавать свои собственные:
Других решений пока нет …