Я выполняю этот запрос с помощью конструктора запросов Laravel с левым соединением с двумя таблицами, связанными с столбцом s_nid
. С таблицей я остался присоединением к conference_report
, есть много строк с одним s_nid
, и я хочу только вернуть строку с самой последней датой. Я смотрел на Groupwise Maximum с некоторыми примерами здесь, на SO, который является новым для меня, и я думаю, что мне нужно выполнить запрос, но я не уверен, как его реализовать на столе, к которому я присоединяюсь.Laravel получить самую последнюю дату соединения таблицы
$data['students'] = DB::table('educational_report')
->select('educational_report.s_nid as s_nid'
,'educational_report.name as name'
,'educational_report.file_no as file_no'
,'educational_report.university as university'
,'conference_report.conference_end_date as conference_end_date'
,'student_status.status as status')
->leftJoin('student_status', 'student_status.s_nid', '=', 'educational_report.s_nid')
->leftJoin('conference_report', 'conference_report.s_nid', '=', 'educational_report.s_nid')
->distinct()
->groupBy('s_nid')
->paginate(10);
Возможно полезные ссылки:
Performing a Groupwise Maximum in Laravel 4
http://dev.mysql.com/doc/refman/5.6/en/example-maximum-column-group-row.html