我的数据库中有两个表:
封装
包含有关包裹的所有信息,例如跟踪,重量。
装运
包含正在运送的已到达仓库包的列表。使用状态属性:
in_transit,延迟,海关,交付
问题是: 用户可以查看他们的软件包,我通过查询软件包所属的发货来显示它们当前的软件包状态。 我是否需要在Package表上创建 shipment_status 列,并在更新货件状态时,运行查询更新每个包的列?或者目前的解决方案是最好的?
答案 0 :(得分:0)
不,你不需要。当您需要货件状态时,如果您真的想要查询包裹并包含货件状态,则可以进行加入。
例如,
Packages.joins(:shipment).where(user_id: current_user.id).select('packages.*, shipments.status as shipment_status')
这将取代
current_user.packages
使用联接,您将拥有Package
对象shipment_status
方法。