База данных мне нужно для нормализации связанных полей? - PullRequest
0 голосов
/ 01 июня 2018

В моей базе данных есть две таблицы:

  • Пакет

    Содержит всю информацию о пакете, такую ​​как отслеживание, вес.

  • Отгрузка

    Содержит список доставленных на склад отправлений.С атрибутом статуса:

    in_transit, отложено, таможня, доставлено

Вопрос: Пользователи могут просматривать свои пакеты, и я показываю ихтекущий статус пакета, запрашивая его у отгрузки, к которой принадлежит пакет.Нужно ли сделать столбец shipment_status в таблице пакетов, а при обновлении статуса отгрузки запускать запрос на обновление этого столбца каждого пакета?Или текущее решение лучшее?

1 Ответ

0 голосов
/ 01 июня 2018

Нет, вам не нужно.Когда вам нужен статус отгрузки, вы можете выполнить объединение, если вы действительно хотите выполнить один запрос пакетов и указать статус отгрузки.

Например,

Packages.joins(:shipment).where(user_id: current_user.id).select('packages.*, shipments.status as shipment_status')

Это будетзамена для

current_user.packages

При объединении у вас будет объект Package с методом shipment_status.

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