Laravel 4渴望加载多对多关系

Jar*_*ing 1 php laravel laravel-4

尝试使用多对多关系对Laravel 4进行简单的热切加载.我的模特看起来像.

class Facility extends Eloquent {

    public function photos(){
            return $this->belongsToMany('Photo');
    }
}

class Photo extends Eloquent {

    public function facilities(){
            return $this->belongsToMany('Facility');
    }
}
Run Code Online (Sandbox Code Playgroud)

Tabes根据Laravel标准设置.当我尝试加载使用时

$facilities = Facility::with('Photo')->get();
Run Code Online (Sandbox Code Playgroud)

我最终得到了一个Laravel错误

Call to undefined method Illuminate\Database\Query\Builder::photo()
Run Code Online (Sandbox Code Playgroud)

有什么想法在这里做错了吗?

Blu*_*nie 6

你应该试试:

$facilities = Facility::with('photos')->get();
Run Code Online (Sandbox Code Playgroud)

请记住,您传递的参数with()是方法,而不是模型,因此如果您在模型中有另一种方法,请说:location(),您将调用:

$facilities = Facility::with(['photos', 'location'])->get();
Run Code Online (Sandbox Code Playgroud)