0

我在我的应用程序中使用 Amplify 将数据存储在数据库中。我有两个模型:汽车和旅行。旅行可以是向外或返回的类型。在 Amplify 生成的 Car+Schema.swift 中:

.belongsTo(Car.Outward, is: .optional, ofType: Trip.self, targetName: "carOutwardId") .belongsTo(Car.Return, is: .optional, ofType: Trip.self, targetName: "carReturnId")

在管理 UI 中,基数设置为 1:1 一一趟,用于字段OutwardReturn

关系名称 相关 基数
向外 旅行 1:1 一车一程
返回 旅行 1:1 一车一程

如果汽车仅用于去机场的外出旅行并且我想保存它,我必须在返回字段中提供旅行ID 。目前,如果没有回程,我使用虚拟旅行并存储 id。

var dummy:Trip? = nil
Amplify.DataStore.query(Trip.self, byId: fakeTripID)
    case .success(let result):
        dummy = result

let car = Car(name: name, Outward: outwardTrip, Return: dummy)
Amplify.DataStore.save(car)

因此,每次我保存一辆车时,都会有一次去程,但不确定是否会有回程。如何保存空的或零的回程旅行,或者我应该如何更改数据模型来实现这一点?

4

0 回答 0