尝试使用多对多关系对Laravel 4进行简单的急切加载。我的模型看起来像。
class Facility extends Eloquent {
public function photos(){
return $this->belongsToMany('Photo');
}
}
class Photo extends Eloquent {
public function facilities(){
return $this->belongsToMany('Facility');
}
}
根据Laravel标准设置标签。当我尝试使用
加载时$facilities = Facility::with('Photo')->get();
我最终得到了Laravel错误
Call to undefined method Illuminate\Database\Query\Builder::photo()
有什么想法在这里做错了吗?
答案 0 :(得分:6)
你应该尝试:
$facilities = Facility::with('photos')->get();
请记住,您传递给with()
的参数是方法,而不是模型,因此如果您在模型中有另一种方法,请说:location()
,您将调用:
$facilities = Facility::with(['photos', 'location'])->get();