Вызов неопределенного метода Illuminate\Database\Query\Builder::with() в репозитории

Я пытаюсь следовать приведенному ниже руководству, но по какой-то причине метод 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();
}

Это немного отличается от кода в учебнике, но это не должно иметь значения. Даже когда я использую точно такой же пример, он ломается с ошибкой выше.


person Flobbo    schedule 07.07.2015    source источник
comment
Извините, что говорю это, но большая часть этой статьи - чушь, так что закройте ее, забудьте и никогда больше не читайте. Лучше прочитайте этот bosnadev.com/2015/03. /07/using-repository-pattern-in-laravel-5 , хотя он представляет собой гораздо более сложный подход. И ошибка, которую вы получаете, говорит, что вы работаете с объектом Query\Builder вместо Eloquent\Builder, поэтому разрешите это, и все будет в порядке.   -  person Jarek Tkaczyk    schedule 08.07.2015
comment
Не могли бы вы указать, почему статья является BS? Я понял проблему, у меня просто была опечатка в отношениях, которые я пытался использовать в методе with()....   -  person Flobbo    schedule 08.07.2015
comment
Это непоследовательно, содержит ошибки, а заголовок вводит в заблуждение — там буквально нет хитрости для красноречия. Я знаю, что Филип предоставил много руководств на своем сайте, я полагаю, что многие находят их полезными, но этот плохой.   -  person Jarek Tkaczyk    schedule 09.07.2015


Ответы (1)


Оказывается, если у вас есть опечатка в отношениях, которые вы пытаетесь получить в этом сценарии, это даст вам эту ошибку. Это очень запутанно.

person Flobbo    schedule 09.07.2015