Я пытаюсь следовать приведенному ниже руководству, но по какой-то причине метод 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();
}
Это немного отличается от кода в учебнике, но это не должно иметь значения. Даже когда я использую тот же пример, он ломается с ошибкой выше.
Прошу прощения, но большая часть этой статьи - это BS, поэтому закройте ее, забудьте об этом и никогда не смотрите на нее снова. Лучше прочитайте этот https://bosnadev.com/2015/03/07/using-repository-pattern-in-laravel-5/, хотя он представляет гораздо более сложный подход. И ошибка, которую вы получаете, говорит, что вы работаете с объектом 'Query \ Builder' вместо' Eloquent \ Builder', поэтому разрешите это, и все будет в порядке. –
Не могли бы вы указать, почему статья BS? Я понял проблему, у меня просто была опечатка в отношениях, которые я пытался вытащить методом with() .... – Flobbo
Это противоречиво, имеет ошибки и заголовок вводит в заблуждение - в этом нет ни малейшего трюка для красноречивого. Я знаю, что Филипп предоставил много учебников на своем сайте, я полагаю, многие считают их полезными, но это плохо. –