mysql - 强制 Eloquent 使用内连接检索数据

标签 mysql laravel-5 php-5.6

有什么方法可以使用 Laravel Eloquent ORM 制作 ->get() 并强制它使用内部联接而不是使用 whereIn 进行查询? 我有这样的数据关系,因为表中有很多数据,Eloquent 会永远提供数据。

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

这是在使用 whereIn 语句创建一个查询时,其中包含我拥有的所有人员的 ID,并且对于 with 语句内的所有其他关系也是如此。 有什么方法可以使用 Eloquent ORM 更改内部连接吗?

最佳答案

是的,你可以加入 laravel。你必须阅读 laravel 的文档。您可以像这样使用 join :- 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();

希望对您有所帮助!

关于mysql - 强制 Eloquent 使用内连接检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44317853/

相关文章:

mysql - SQL - 通过第三个表中的公共(public)链接连接三个表

php - 明显不在 Laravel 中工作

android - 我可以使用后台任务每 1 秒处理一次来自服务器的数据吗?

php - 无法执行mysql表插入

php - DB::transaction 抛出 undefined variable 错误异常

php - Laravel 5,尝试多文件上传,Request::file() 只返回最后一个文件?

php - Fopen 接受自签名证书

php - 如何在 PHP 中动态创建全局变量

php - 我可以找到余弦倒数来找到三角形的角度吗

php - 查询2个表并将数据合并到一个数组中