我有这个查询生成器对象:
$items = DB::table('messages as t1')
->join(DB::raw('(
SELECT max(send_date) MaxPostDate, user_id
FROM messages
GROUP BY user_id
) t2'), function($join)
{
$join->on('t1.user_id', '=', 't2.user_id')
->on('t1.send_date', '=', 't2.MaxPostDate');
})
->orderBy('t1.send_date', 'desc')
->get();
,我需要更改Eloquent
。
我尝试过这样的事情:
$items = \App\Message::join(DB::raw('(
SELECT max(send_date) MaxPostDate, user_id
FROM messages
GROUP BY user_id
) t2'), function($join)
{
$join->on('t1.user_id', '=', 't2.user_id')
->on('t1.send_date', '=', 't2.MaxPostDate');
})
->orderBy('t1.send_date', 'desc')
->get();
但是问题是t1
别名(不是雄辩的说法),我不知道如何解决。