【发布时间】:2015-07-07 22:27:23
【问题描述】:
我正在尝试按照下面的教程进行操作,但由于某种原因,make 方法在我的情况下不起作用。当我尝试按照教程中的说明使用它时,出现错误:调用未定义的方法 Illuminate\Database\Query\Builder::with()
http://culttt.com/2014/03/17/eloquent-tricks-better-repositories/
public function make(array $with = array())
{
return $this->model->with($with);
}
然后我尝试如下使用:
public function parents(array $with = array())
{
$query = $this->make($with);
return $query->whereNull('parent_id')->get();
}
这与教程中的代码略有不同,但应该没有区别。即使我使用完全相同的示例,它也会因上述错误而中断。
【问题讨论】:
-
很抱歉,但那篇文章大部分都是废话,所以关闭它,忘记它,永远不要再看它。最好阅读这篇bosnadev.com/2015/03/07/using-repository-pattern-in-laravel-5,尽管它提供了更复杂的方法。你得到的错误说,你正在使用
Query\Builder对象而不是Eloquent\Builder,所以解决这个问题,你会没事的。 -
你能指出这篇文章为什么是废话吗?我找到了问题所在,我只是在尝试使用 with() 方法的关系中出现了拼写错误....
-
它前后矛盾,有错误,而且标题具有误导性——这里面确实没有口才的技巧。我知道 Philip 在他的网站上提供了很多教程,我想很多人觉得它们很有帮助,但是这个很糟糕。
标签: laravel-4 eloquent query-builder