Как собирать только последние записи из таблицы пользователем - PullRequest
0 голосов
/ 24 октября 2019

У меня есть таблица транзакций. Мне нужно сделать запрос, который должен получить последние записи по client_id.

8 UK0619344 Mr Stephen  Cutt        XS1923339623    50000   25/10/2019 16:57
9   UK0619344   Mr Stephen Cutt         XS1923339623    40000   27/10/2019 16:58
11  UK081831    Mrs Elizabeth Nicholls  XS1877205325    10000   25/10/2019 16:58
12  UK081833    Mr Andrew James         XS1890026708    15000   19/10/2019 13:11
13  UK081833    Mr Andrew James         XS1890026708    10000   21/10/2019 16:00
14  UK081831    Mrs Elizabeth Nicholls  XS1877205325    6000    11/10/2019 11:00

Например, у мистера Стивена Катта есть несколько записей, но мне нужно выбрать самую последнюю.

То же самое для мистера Эндрю Джеймса, выберите запись 21/10/2019

Я пытался выполнить следующие запросы, но не получил нужные данные.

$details =DB::table('transactions')
              ->groupBy('created_at')
              ->latest()
              ->get();

и

$details =DB::table('transactions')
              ->groupBy('client_id')
              ->latest()
              ->get();

Нужна помощь по этому вопросу. Заранее спасибо.

1 Ответ

0 голосов
/ 24 октября 2019
//For Mr. Stephen Cutt
$details = DB::table('transactions')->where('client_id','UK0619344')->latest()->get()

//For Both Mr. Stephen Cutt and Mr. Andrew James
$details = DB::table('transactions')->whereIn('client_id',['UK0619344','UK081833'])->latest()->get()

// Or If You Like to get Nested result, Group By Client
$details = Client::whereIn('client_id',['UK0619344','UK081833'])->with('transactions'=>function($query){
    return $query->whereDate('2019-10-21')->latest();
})->get()

Может быть, те могут помочь вам ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...