强制Eloquent使用内部联接检索数据

时间:2017-06-01 22:08:03

标签: mysql laravel-5.2 php-5.6

有没有办法使用Laravel Eloquent ORM制作一个 - > get()并强制它使用内连接而不是使用whereIn?来进行查询。 我有这样的数据关系,因为表中有很多数据,Eloquent正在永远提供数据。

$people= People::with(
        'pets',
        'peopleSize',
        'cars',
        'house',
        'child'
    )->get();

这是使用whereIn语句创建一个查询,其中包含我拥有的所有人的ID,并且与with statment中的每个其他关系相同。 有没有办法使用Eloquent ORM更改内部联接?

1 个答案:

答案 0 :(得分:0)

是的,你可以加入laravel。你必须阅读l​​aravel的文档。您可以使用加入像这样: - https://laravel.com/docs/5.4/queries#joins 在你的情况下,我将提供一个例子: -

$people= DB::table('peoples')
          ->join('pets', 'peoples.id', '=', 'pets.people_id')
          ->join('people_sizes', 'peoples.id', '=', 'people_sizes.people_id')
          ->get();

希望它有所帮助!