Я работаю с кодом, который создает запрос, который начинается с:
$products = \App\Product::where('id', '>', 0);
, а затем продолжает добавлять другие связанные модели в $product
, в зависимости от того, какие аргументы предоставлены.
Я хотел добавить связанную модель в первую строку кода. Но я, кажется, что-то делаю не так.
Я пытаюсь добавить отношение «конструктор», добавив: ->get()->designer
, например:
return json_encode($products = \App\Product::where('id', '>', 0)
->get()->designer);
, который дает ошибку: Property [designer] does not exist on this collection instance.
Переключение порядка также не работает: ->designer->get());
(Я получаю Undefined property
)
Мой Товар Модель имеет метод:
public function designer() {
return $this->belongsTo('App\Designer');
}
И таблица Product имеет столбец "designer_id
" (это отношение "ownTo", поэтому я думаю, что designer_id должен быть в модели Product).
В документации сказано, что: «мы можем получить доступ к методам отношений, как если бы они были определены как свойства в модели»: $comments = App\Post::find(1)->comments;
Что я делаю не так?