Php 在Laravel 5.7 Elotent中加载父级时,有没有办法避免加载这些$with模型?

Php 在Laravel 5.7 Elotent中加载父级时,有没有办法避免加载这些$with模型?,php,laravel,eloquent,orm,laravel-5.7,Php,Laravel,Eloquent,Orm,Laravel 5.7,我有一个laravel应用程序,其中的模型使用$with,在前端,每当我加载这个模型时,它也会加载其子模型的$with。你们能告诉我怎么避免吗 下面是一个让你们理解这个场景的例子 ModelA.php $with = [ModelK, ModelL, ModelM]; 在我的前端,无论我在哪里雄辩地使用ModelA,它都会查询ModelM,ModelX。这使我的网站速度变慢。另外,如果我从ModelA中检索4-5行数据,那么它也会对所有这些模型ModelM,ModelX进行运行查询,并且对每行

我有一个
laravel
应用程序,其中的模型使用$with,在前端,每当我加载这个模型时,它也会加载其子模型的$with。你们能告诉我怎么避免吗

下面是一个让你们理解这个场景的例子

ModelA.php
$with = [ModelK, ModelL, ModelM];
在我的前端,无论我在哪里雄辩地使用
ModelA
,它都会查询
ModelM
ModelX
。这使我的网站速度变慢。另外,如果我从
ModelA
中检索4-5行数据,那么它也会对所有这些模型
ModelM
ModelX
进行运行查询,并且对每行进行一次查询。因此,查询的数量也在增加

这些模型之间的关系是一对一、一对多和多对多


在加载父模型时,是否有任何方法可以避免这些子模型?

如果在模型中使用
$with
属性,可以通过以下方式禁用查询中的加载:

ModelA::setEagerLoads([])->first();

如果在模型中使用
$with
属性,则可以通过以下方式禁用查询中的加载:

ModelA::setEagerLoads([])->first();
ModelA::setEagerLoads([])->first();