我的路由代码
为什么会抛出这个异常?
return View::make('test')->with('foo', foo::all()->with('foos', 'bars'));
为什么会抛出这个异常?
all()
函数执行查询以获取集合。您必须在查询构建器实例上调用with
。这意味着您应该这样做:
all()
函数执行查询以获取集合。您必须在查询构建器实例上调用with
。这意味着您应该这样做:
foo::with('foos', 'bars')->get();
另外,按照惯例,类名应以大写字母开头,所以应该是 Foo
;)
with
方法 http://laravel.com/api/4.2/Illuminate/Database/Eloquent/Collection.htmlfoo::all()
返回 Collection(所有实体,类似于数组),据我所知,不是查询构建器实例 http://laravel.com/api/4.2/Illuminate/Database/Eloquent/Builder.html - Cheerywith
方法,它是Builder类的方法,而不是Collection类的方法。 Collection(通过all()
获得)是执行查询的结果,包含来自数据库的所有数据,而不是应该请求它的查询。 - Cheery