2015-07-07 1 views
0

Я пытаюсь следовать приведенному ниже руководству, но по какой-то причине метод make не работает в моем случае. Когда я пытаюсь использовать его, как описано в учебнике я получаю сообщение об ошибке: Вызов неопределенной метод Осветите \ Database \ Query \ Builder :: с()Звонок на неопределенный метод 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(); 
} 

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

+0

Прошу прощения, но большая часть этой статьи - это BS, поэтому закройте ее, забудьте об этом и никогда не смотрите на нее снова. Лучше прочитайте этот https://bosnadev.com/2015/03/07/using-repository-pattern-in-laravel-5/, хотя он представляет гораздо более сложный подход. И ошибка, которую вы получаете, говорит, что вы работаете с объектом 'Query \ Builder' вместо' Eloquent \ Builder', поэтому разрешите это, и все будет в порядке. –

+0

Не могли бы вы указать, почему статья BS? Я понял проблему, у меня просто была опечатка в отношениях, которые я пытался вытащить методом with() .... – Flobbo

+0

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

ответ

-1

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