“Model”类看起来有什么关系?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (3)

使用Vapor我想存储一个与孩子的关系。我还没有找到任何关于课程应该是什么样子的例子,而我只是猜测该怎么做。任何人都可以提供与其他Model对象列表有关系的类的示例吗?

import Vapor
import Fluent
import Foundation

final class Store: Model {

    // MARK: - Model
    var id: Node?
    var exists: Bool = false
    var locationIDs: [Node] = [] // No idea if this is right

    var name: String

    init(name: String, locationIDs: [Node] = []) {
        self.id = nil
        self.name = name
        self.locationIDs = locationIDs
    }

    init(node: Node, in context: Context) throws {
        id = try node.extract("id")
        name = try node.extract("name")
//      ???
    }

    func makeNode(context: Context) throws -> Node {
        return try Node(node: [
            "id": id,
            "name": name
//          ???
        ])
    }

    static func prepare(_ database: Database) throws {
        try database.create( "stores" ) { creator in
            creator.id()
            creator.string("name")
//            creator.id("", optional: false) // ???
        }
    }

    static func revert(_ database: Database) throws {
        try database.delete("stores")
    }

}
提问于
用户回答回答于

下面是我对用户和组关系的实现。一个用户属于一个组,而组有很多用户,所以一个简单的1->多的关系.

final public class User: Model {
  public var id: Int?
  var emailAddress: String
  var username: String
  var groupId: Int

}

extension User {
  var group: Parent<User, Group> {
    return parent(\.groupId)
  }
}


final public class Group: Model {
   public var id: Int?
   var name: String
}

extension Group {
   var users: Children<Group, Users> {
      return children(\.groupId)
   }
}

Many <-> Many are similar but use a pivot table in the middle of the relationship.

所属标签

可能回答问题的人

  • 天使的炫翼

    15 粉丝531 提问35 回答
  • 旺仔小小鹿

    社区 · 运营 (已认证)

    48 粉丝0 提问27 回答
  • 富有想象力的人

    2 粉丝0 提问26 回答
  • 发条丶魔灵1

    6 粉丝525 提问25 回答

扫码关注云+社区

领取腾讯云代金券