如何在Eloquent ORM中的联接表上选择

时间:2019-06-26 00:22:38

标签: laravel eloquent

SELECT * FROM messages
    INNER JOIN posts ON messages.ad_id = posts.id
WHERE posts.user_id = 1;

我有上面的查询,但是我不确定如何使用雄辩的ORM。

2 个答案:

答案 0 :(得分:1)

$data = Message::join('posts', 'posts.id', '=', 'messages.ad_id')
    ->where('posts.user_id', 1)
    ->select('messages.*','posts.*')
    ->get();

您在laravel文档中有示例,希望它们对您有所帮助:D https://laravel.com/docs/5.8/queries#joins

答案 1 :(得分:0)

您可能使用join方法:

$messages = DB::table('messages')
    ->select('*')
    ->join('posts', 'posts.id', '=', 'messages.ad_id')
    ->where('posts.user_id', 1)
    ->get();