Laravel: Возможно ли иметь 2 сводных стола между двумя моделями? - PullRequest
0 голосов
/ 07 февраля 2019

В моем проекте у меня есть 2 модели:

  • Транзакции

    • id
    • action_id
    • user_id
  • Элементы

    • id
    • имя
    • описание

Действия: «доставить», «заказать», «использовать», «испортили»

Сводные таблицы:: item_order, item_transaction

Вот чего я хочу достичь

  • Имеется одна таблица транзакций для записи действий, выполненных над элементами
  • Если действие - 'порядок', то оно сохранит форму запроса в сводной таблице item_order,
  • В противном случае, еслиДействие «доставить», «использовать» или «испорченное» будет записано в сводную таблицу «item_transaction».

Я знаю, что могу создать еще одну таблицу под названием «заказ», но она потерпит поражениецель иметь только одну таблицу «транзакций» для более удобного мониторинга действий, выполняемых с элементами.

Возможно ли иметь две разные сводные таблицы между двумя моделями?Как я буду создавать отношения?

Вот ссылка на изображение моей Структура базы данных

1 Ответ

0 голосов
/ 07 февраля 2019

Как предлагается в комментарии, ваш item_transaction привязан к actions над transactions строкой.Поскольку это может быть только одно из действий (transactions 1:m actions), решение может состоять в том, чтобы установить поле order_qty как пустое поле в таблицу item_transaction и полностью удалить таблицу item_order.Имея его null, он также может быть помечен как флаг, можно ли заказать что-то еще.

...