Мне нужно показать все данные формы pinjaman_id, но только последние данные в каждой базе данных формы pinjaman_id - PullRequest
0 голосов
/ 26 июня 2019

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

$pinjaman = DB::table('invoice')->where('pinjaman_id', 67)->orderBy('tgl_tempo', 'desc')->first();

Если я использую это, показывать только последние данные в pinjaman_id = 67, мне нужно показать их все, но только последние данные, основанные на tgl_tempo desc

$pinjaman = DB::table('invoice')->where('pinjaman_id', ??)->orderBy('tgl_tempo', 'desc')->first();

это изображение моей базы данных

enter image description here

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

Вы должны использовать необработанный запрос, чтобы получить правильные данные, затем использовать UNION ALL, чтобы получить другие данные

$results = DB::select("(SELECT * FROM invoice WHERE pinjaman_id= 67 order by tgl_tempo DESC limit 1) UNION ALL (SELECT * FROM invoice WHERE pinjaman_id != 67)") ;

0 голосов
/ 26 июня 2019

попробуйте это

$query = "select * from invoice where id IN (select MAX(id) from invoice where user_id = :userId group by pinjaman_id) order by tgl_tempo desc "; 

$result = DB::select(DB::raw($query),['userId' => 1]);
...