от
в моем проекте фреймворк Laravel, я получаю это структура базы данных: Продукты Идентификатор Название Заказы Идентификатор Общая Order_Product Product_id (обнуляемого) Order_Id Детали В моей модели того, я retaltionship belongsToMany с моделью продукта:
public function products() {
     return $this

Проблема, когда я пытаюсь получить заказ коллекции товаров 

$order

Я не получаю строк с product_id, допускающий значение null, любое решение, Пожалуйста ? Спасибо.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

2 Ответы

0 голосов
от
Поддержка фреймворк Laravel "нулевым объектом", начиная с версии 5.5, которая позволяет определить модель по умолчанию, которое будет возвращено, если данное отношение имеет значение null. Попробуйте использовать следующий код:
public function products() {
     return $this
0 голосов
от
Скорее всего, вы не получите "значение null" продуктов, потому что у вас есть заказ->отношении товаров. Когда вы звоните $заказ->продукты(), красноречиво пытается получить все сущности продукта, которые подключены к вашему заказу через поле product_id. Так, если поле пустое, то вы не можете получить продукт, потому что нет никакой связи. Одним из решений является: создать другой объект, как OrderLine(таблица Order_Product); добавить методы, такие как $orderLine->детали() и отношения к продукту, как $orderLine->продукт() добавьте отношению к OrderLine внутри Заказа - $Заказ->линия() или $заказ->инфо() и т. д. -> Заказ помощью методов hasmany OrderLine затем использовать $заказ->линия() для получения деталей и изделий по заказу (если существует) С. С. Я скомпилировал его в моей голове, что это может требовать некоторой корректировки кода. Удачи
...