我正在做一个简单的快递跟踪项目,其中有两个名为TrackingStatus
和ParcelTracking
的表。ParcelTracking
表具有Tracking_ID
作为主键,而TrackingStatus_ID
作为外键(其是TrackingStatus
表的主键)。
每次快递员状态更改时,我都想添加新的TrackingStatus_ID
,以便可以检索该特定Tracking_ID
的所有先前状态。
我该如何实现?
最佳答案
据我了解,这不是“更新”问题,而是架构和模型的布局问题。您的外观看起来有些混乱。
根据您在问题中所说的,看来您正在这样做:
| TrakingStatus | | ParcelTracking |
|---------------| |------------------|
| Id | | TrackingId |
| ... |--------| TrackingStatusId |
| | | ... |
如此看来,如果快递员发生了变化,那么您想添加一个新的
TrackingStatusId
,我想这是您想在TrackingStatus
表中创建一个新记录,然后在ParcelTracking
中引用它表。您应该在这里将OneToMany
关系与另一个表一起使用,该表允许您为TrackingStatus
中的单个宗地引用ParcelTracking
中的行,并且您将得到类似以下内容的信息:| TrakingStatus | | ParcelStatuses | | ParcelTracking |
|---------------| |-----------------| |------------------|
| Id | -------- | TrackingId | *-----------1| TrackingId |
| ... | | TrackingStatusId| | ... |
这样,当快递员更改时,您不需要覆盖现有的
TrackingStatusId
值,您只需创建另一个记录并将其与相同的ParcelTracking
对象链接即可。