我正在将数据存储在我的数据库中。存储的数据如下所示
vin date_traitement
VF15R060H54847102 2018-04-05 00:00:00
UU1HSDC9553072004 2017-08-07 15:01:00
UU1HSDC9553072004 2017-08-07 14:51:00
VF15R060H54847102 2017-08-07 14:57:00
在我的控制器中,我试图检索不同的vin,但获取每个的最新插入版本以提取到excel。目前我正在尝试
return Bddrenault::groupBy('vin')->orderBy('date_traitement', 'desc')
->get()
->map(function ($item, $key) {
return (array) $item;
})
->all();
问题是这会将excel文件返回为空,我试图获取此
vin date_traitement
VF15R060H54847102 2018-04-05 00:00:00
UU1HSDC9553072004 2017-08-07 15:01:00
我如何实现这一目标?
由于
答案 0 :(得分:0)
Use this:
$join = Bddrenault::select('vin')
->selectRaw('MAX(`date_traitement`) `date_traitement`')
->groupBy('vin');
$sql = '(' . $join->toSql() . ') as `voiture`';
Bddrenault::select('id', 'bd.vin', 'bd.date_traitement')
->from('bddrenaults as bd')
->join(DB::raw($sql), function($join) {
$join->on('bd.vin', 'voiture.vin')
->on('bd.date_traitement', 'voiture.date_traitement');
})->get();