我希望对Laravel的收藏有一个快速的问题。按特定ID分组并仅接受符合特定条件的条目的最佳方法是什么?使用下面的会议表示例,我试图为每个company_id参加最近的会议。换句话说,我想将下面的数组减少为仅id:2、5和8。
id | company_id | date | topic | attendees
1 | 1 | 2015-06-30 | Intro | 5
2 | 1 | 2015-09-30 | Update | 2
3 | 1 | 2013-03-30 | Update | 4
4 | 2 | 2014-03-30 | Intro | 3
5 | 2 | 2015-01-15 | Update | 8
6 | 3 | 2012-10-15 | Intro | 12
7 | 3 | 2015-06-15 | Update | 5
8 | 3 | 2015-09-15 | Update | 2
尝试这样的事情:
$latest = DB::table('meetings as latest')
->whereNotExists(function ($query) {
$query->select(DB::raw(1))
->from('meetings')
->whereRaw('company_id = latest.company_id')
->whereRaw('date > latest.date');
})
->get();
这样做的想法是仅记录那些没有会议日期较晚的公司的记录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句