Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel关系限制所有结果,而不是特定于模型的结果_Php_Mysql_Laravel - Fatal编程技术网

Php Laravel关系限制所有结果,而不是特定于模型的结果

Php Laravel关系限制所有结果,而不是特定于模型的结果,php,mysql,laravel,Php,Mysql,Laravel,我有一个嵌套关系,如: Model One有许多Model two,其中有许多Model two 目的是获取所有车型及其车型二,并且对于车型二中的每一个,仅获取最新的车型三 我试过: 返回ModelOne::with(['modelTwos.latestModelThree']) ->分页(); 但这只是给出了最后一个模型一的模型二的模型三 所有其他Model two响应中没有Model two Model Two类上的latestmodeltree方法为: 公共函数latestModelTh

我有一个嵌套关系,如:

Model One
有许多
Model two
,其中有许多
Model two

目的是获取所有
车型
及其
车型二
,并且对于
车型二
中的每一个,仅获取最新的
车型三

我试过:

返回ModelOne::with(['modelTwos.latestModelThree'])
->分页();
但这只是给出了最后一个
模型一的
模型二的
模型三

所有其他
Model two
响应中没有
Model two

Model Two
类上的
latestmodeltree
方法为:

公共函数latestModelThree()
{
返回$this->hasMany(modeltree::class)
->最新
->限额(1);
}

larestmodeltree()
关系更改为
hasOne()
并取消限制应该可以做到:

public function latestModelThree()
    {
        return $this->hasOne(ModelThree::class)
            ->latest();
    }

这有点老套,如果您需要N个关系项而不是单个关系项,则不会解决问题。但是,它解决了您的问题。

Elias Soares的答案确实有效,但会导致大型数据集出现重大性能问题


一个更高性能的解决方案是使用此软件包:

虽然这确实有效,但在处理许多型号3时,它会导致严重的性能问题