Laravel - формат даты из базы данных Mysql с углеродом

В моем проекте Laravel у меня есть таблица базы данных MySQL со следующим столбцом:

 |   requested_at  |
 2018-02-03 12:00:00
 2018-03-03 11:00:00

Я хочу получить все элементы из этого столбца, для которых метка времени (required_at) старше 60 дней:

$now = Carbon::now ();  

$60days  = DB::table('exampletable')->where('requested_at', '=', $now->subDays(60))->get();

Для моего следующего кода мне нужно отформатировать формат даты из моего столбца requested at.

Я только хочу получить дату, как этот 2018-03-03, без времени.

Я экспериментирую с некоторыми углеродными методами, но это совсем не сработало:

$format60 = Carbon::createFromFormat('Y-m-d', $60days);

К вашему сведению, ваша переменная $60days недействительна, переменные должен начинаются с символа подчеркивания ИЛИ ЖЕ буквы. Что касается углеродной части, она должна выглядеть примерно так: Carbon::createFromFormat('Y-m-d', $days60['FIELD THAT HAS YOUR TIME VALUE']); - обратите внимание, я изменил имя вашей переменной.

Yeeooow 03.05.2018 15:52
Стоит ли изучать 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
1
1 459
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете добиться этого только с помощью mysql, без углерода. Просто используя datediff() и now() mysql.
Сделай это так

$days60  = DB::table('exampletable')
    ->whereRaw('datediff(now(),requested_at) = 60')
    ->get();

Пример: -

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

Кажется, вы используете тип TIMESTAMP, поэтому

->where('requested_at', '<=', now()->subDays(60)->startOfDay())->get();

Как видите, нет необходимости форматировать экземпляр Carbon.

Разбейте все на части:

now() // Laravel helper to get Carbon::now()
->subDays(60) // subtract 60 days
->startOfDay() // set time part of timestamp to start of the day

Note: add requested_at into $datesarray in your model for easier use

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