Запрос Laravel sql

Спокойной ночи. Я пытаюсь получить последний и только 1 элемент из базы данных. Но проблема в том, что в базу данных одновременно были внесены 3 объекта. Таким образом, дата точно такая же с точностью до секунды. Как мне получить последнюю информацию по дате created_at и идентификатору>

Посмотрите, что у меня было ниже, что вызывало проблему:

$latest = $newInv->where('case_number', $request-> case_number)
    ->orderBy('created_at', 'DESC')
    ->latest()->first();

То, что я надеялся сделать, но все еще терпит неудачу, может быть, мне лучше это написать?

$latest = $newInv->where('case_number', $request->case_number)
        ->orderBy('created_at', 'DESC')
        ->orderBy('id', 'ASC')
        ->latest()->first();

Всегда последний идентификатор должен иметь самую последнюю дату created_at

Walter Cejas 15.12.2018 03:24
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
1
47
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Не нужно добавлять latest() и упорядочивать по id в запросе, следующее должно работать,

$latest = $newInv->where('case_number', $request->case_number)
         ->orderBy('created_at', 'DESC')->first();

ДОКУМЕНТЫ

Последние и самые старые методы позволяют легко упорядочивать результаты по дате. По умолчанию результат будет упорядочен по столбцу created_at. Или вы можете передать имя столбца, по которому хотите сортировать:

$user = DB::table('users')->latest()->first();

Смотрите больше на https://laravel.com/docs/5.7/queries#ordering-grouping-limit-and-offsetv

ОБНОВИТЬ

Если у вас такое же значение для created_at, тогда должно работать следующее:

ЗАМЕТКА: вам нужно упорядочить по id в порядке убывания, чтобы получить запись с> ID

 $latest = $newInv->where('case_number', $request->case_number)
         ->orderBy('created_at', 'DESC')
         ->orderBy('id', 'DESC')
         ->first();

У меня все еще не работает. Я дал 5 записей с одинаковым точным временем created_at с точностью до секунд, и это все еще выбор последней с использованием метода ur. : '(

Slygoth 15.12.2018 03:30

@Slygoth, затем добавьте заказ по столбцу идентификатора сразу после создания в

Sagar Gautam 15.12.2018 03:38

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