从别名的查询生成器到雄辩的

时间:2020-09-23 11:03:02

标签: eloquent laravel-7 laravel-query-builder

我有这个查询生成器对象:

$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别名(不是雄辩的说法),我不知道如何解决。

0 个答案:

没有答案