如何在laravel与union进行分组

如何在laravel与union进行分组,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,我有两个要合并的表,合并后,我想按我在联合中使用的一列进行分组 以下是我尝试过的: 这是我尝试的MySQL查询 我在MySQL中真正想要的是这样的: 谢谢你的帮助//试试这个例子,它会对你有所帮助 $query1=DB::table('table1')->其中(…) $query2=DB::table('table2')->其中(…) $data=DB::select(DB::raw('id,MAX(created_at)as MAX_created_at')>union($query1)->u

我有两个要合并的表,合并后,我想按我在联合中使用的一列进行分组

以下是我尝试过的:

这是我尝试的MySQL查询

我在MySQL中真正想要的是这样的:


谢谢你的帮助

//试试这个例子,它会对你有所帮助

$query1=DB::table('table1')->其中(…)

$query2=DB::table('table2')->其中(…)

$data=DB::select(DB::raw('id,MAX(created_at)as MAX_created_at')>union($query1)->union($query2)->orderBy('MAX_created_at')->groupBy('id')->get()

$issuance = DB::table('issuance as i')
            ->select('i.issue_to as stud_id', 'i.created_on');

$stud= DB::table('transfer as t')
            ->select('t.transfer_to as stud_id', 't.created_on')
            ->union($issuance)
            ->select('stud_id', 'created_on', DB::raw('COUNT(*) as total_asset'))
            ->groupBy('stud_id')
            ->orderBy('created_on', 'DESC')->get();
"(select `stud_id`, `created_on`, COUNT(*) as total_asset from `transfer` as 
`t` group by `stud_id`) union (select `i`.`issued_to` as `stud_id`, `i`.`created_on` from 
`issuance` as `i`) order by `created_on` desc"
select stud_id, count(*) from ((select `t`.`transfered_to` as `stud_id`, 
`t`.`created_on` from `transfer` as `t`) union (select `i`.`issued_to` as 
`stud_id`, `i`.`created_on`, COUNT(*) as asset from `issuance` as `i`)) as t 
group by stud_id order by `created_on` desc