$this->product
Не возвращает экземпляр Builder
, и по имени должен возвращать один Product
или null
.Я предполагаю, что это должно иметь имя products
(отношение one-to-many
) и возвращать Collection
.
Collection
s имеет метод where()
, но он не принимает операторы, поэтомупервый where()
работает, а второй нет.Collection
s также имеет метод get()
, но требует как минимум один параметр.Ваша ошибка должна выдать ошибку:
Отсутствует аргумент 1 для Illuminate \ Support \ Collection :: get ()
В любом случае, без объяснения, чтобы решить эту проблему, сделайтеубедитесь, что вы используете класс Builder
, включив ()
в свой вызов по телефону:
$products = $this->products()->where('active', '1')->where('virtual', '!=', '1')->get();
Примечание. Имя изменилось на products()
;отношения, которые возвращают Collection
, должны быть названы, чтобы соответствовать.