Laravel渴望加载雄辩的缓慢包装

时间:2015-08-14 19:02:55

标签: php model laravel-5 eloquent

在使用eloquent-sluggable软件包时,我遇到了急于加载的问题。

有一个类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方法的可缓冲接口?或者有一种更好的方法可以做到这一点,我错过了吗?

1 个答案:

答案 0 :(得分:1)

没有findBySlugOrId方法,因为错误说,findBySlug是一个实际比较slug_field wuth给定值的方法。你可以这样做 ::后与( '关系') - > whereId($值) - > findBySlug($值);在那个顺序因为findBySlug返回第一个记录,这意味着一个对象,你不能应用于单个对象的位置。