Laravel 7 Eloquent - Проблема в том, что цена зависит от двух таблиц отношений. - PullRequest
0 голосов
/ 18 июня 2020

Я новичок в laravel и нуждаюсь в помощи, чтобы решить красноречивые отношения.

Мои таблицы в базе данных

Продукты Id: 1 Имя: iPhonex

Воспоминания Id: 1 | Имя: 32 ГБ | id: 2 64 ГБ

Item_Memory item_id: 1 memory_id: 1 | item_id: 2 | memory_id: 2

Сети id: 1 | Имя: разблокировано | id: 2 | Имя: vodafone | id: 3 | Имя: другой

Item_Network item_id: 1 | network_id: 1 | item_id: 1 | network_id: 2 | item_id: 1 | network_id: 3

Цена

item_id: 1 | memory_id: 1 | network_id: 1 | обычный: 499 | продажи: 480

item_id: 1 | memory_id: 1 | network_id: 2 | регулярный: 449 | продажи: 440

item_id: 1 | memory_id: 1 | network_id: 3 | регулярный: 399 | продажи: null

item_id: 1 | memory_id: 2 | network_id: 1 | регулярный: 599 | продажи: 585

item_id: 1 | memory_id: 2 | network_id: 2 | регулярный: 549 | продажи: null

item_id: 1 | memory_id: 2 | network_id: 3 | регулярный: 499 | продажи: 480

Продукты имеет много воспоминаний и воспоминаний принадлежит Продукты

В продуктах много сетей и сетей принадлежит к продуктов

Теперь моя проблема - таблица цен, это немного сложно для меня. Я пытался установить соотношение hasOne между товаром и ценой. Цена зависит от сети и памяти телефона. Получение цены продукта берет первый результат 480 т.е. {{$ product-> price-> sales ?? $ product-> price-> regular}}.

Что, если я поставлю network_id: 3 в качестве первого элемента в таблице цен, но цена должна быть там, где memory_id: 1, network_id: 1?

Примите мои извинения за опечатки или плохой английский sh

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...