Swift 第四章亲子关系

Swift 第四章亲子关系,swift,relationship,vapor,vapor-fluent,Swift,Relationship,Vapor,Vapor Fluent,在Vapor 4中,我创建了一个用户,它的“装备”如下: final class User: Model, Content { init() {} static var schema: String = "user" @ID(key: .id) var id: UUID? @Field(key: "name") var name: String? @Children(for: \.$user) var gear:

在Vapor 4中,我创建了一个用户,它的“装备”如下:

final class User: Model, Content {

    init() {}

    static var schema: String = "user"

    @ID(key: .id)
    var id: UUID?

    @Field(key: "name")
    var name: String?

    @Children(for: \.$user)
        var gear: [Gear]
}


final class Gear: Model, Content {

    init() {}

    static var schema: String = "gear"

    @ID(key: .id)
    var id: UUID?

    @Parent(key: "userId")
    var user: User
}
当我得到这些数据时,我会:

func index(req: Request) throws -> EventLoopFuture<[User]> {
    return User.query(on: req.db).with(\.$gear).all()
}
有人知道如何解决这个问题吗

我想要的响应结构类似于:

{
    "id": "w32423tsdg3w",
    "name": "username",
    "gear": [{
        "id": "1"
        },
        {
        "id": "2"
        }
    ]
}

在这种情况下,
ID
应设置为
String

@ID(key:.ID,generatedBy:.user)变量ID:String?

您是否尝试将ID设置为字符串<代码>@ID(键:.ID,生成者:.user)变量ID:String?
{
    "id": "w32423tsdg3w",
    "name": "username",
    "gear": [{
        "id": "1"
        },
        {
        "id": "2"
        }
    ]
}