Порядок php от created_at, полночь всегда на первом месте

У меня проблема с сортировкой значений в моей таблице. Я отсортировал эти элементы по столбцу created_at. Это все хорошо, но когда таблица получает элемент с 12:01 до 12:59, они всегда появляются в списках первыми. Я использую собственный формат даты.

 $date_time = @date('F j Y g:i a', strtotime(@date('F j Y g:i a')));

и имеет выход "15 апреля 2018 2:07"

мой столбец создано на - это varchar, и причина в том, что я использую date_default_timezone_set (); потому что веб-сервер хранит элемент в другом часовом поясе и портит дату и время, когда элемент был фактически создан, поэтому я не использую метку времени.

еще одна вещь заключается в том, что я хочу, чтобы это время отображалось как опубликованное 3 часа назад или вчера в любом случае.

Я использую для этого laravel 5.6.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
122
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для форматирования даты и времени при рендеринге вы можете создать мутатор в своей модели как:

public function getCreatedAtAttribute($value)
{
    return Carbon\Carbon::createFromFormat('F j Y g:i a', $value)->diffForHumans();
}

Чего вы пытаетесь достичь при сортировке? Если вы сортируете даты, то сначала наступит полночь.

точно, полночь стоит на первом месте в списке. скажем, первый элемент вставлен в db = 15 апреля 2018 г., 12:03:23, а второй элемент - в 1:02:02 15 апреля 2018 г. когда я сортирую его по created_at, второй элемент должен быть вверху списка, потому что он был последним. но этого не происходит. Я изменил свой план, я сделал тип datetime в базе данных для столбца created_at. Я делаю {{$ post-> created_at) -> diffForHumans ()}}, но получаю сообщение об ошибке. Вызов функции-члена diffForHumans () в строке

alpomvra 15.04.2018 09:54

добавьте это в свою модель. protected $dates = ['created_at']; Чтобы он вернул углеродный объект

Muhammad Nauman 15.04.2018 09:58

Другие вопросы по теме