繁体   English   中英

Laravel渴望用雄辩的可伸缩包加载

[英]Laravel eager loading with eloquent-sluggable package

使用雄辩的可打包程序时,我遇到了一个急于加载的问题。

有一个类Page,它与一个类MenuItem有关系

我需要在每次加载页面时加载页面以及相关的menuitem,但是使用With()方法时

$page = Page::with('menuItems')->findBySlugOrId($id);

我得到错误

BadMethodCallException in Builder.php line 1992:Call to undefined method Illuminate\Database\Query\Builder::findBySlugOrId()"

没有办法通过With方法使用可伸缩接口吗? 还是有一个更好的方法来做到这一点,我错过了?

如错误所述,没有findBySlugOrId方法,findBySlug是实际上将slug_field与给定值进行比较的方法。 您可以执行以下Post :: with('relation')-> whereId($ value)-> findBySlug($ value); 按照这种顺序,因为findBySlug返回第一条记录,这意味着单个对象,并且您不能在单个对象上应用where。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM