您有 2 张 table :
一个用户可以有多个帐户。
您需要为用户添加一个帐户。使用 Sequelize,您可以将一个名为 addAccount() 的实例方法附加到 User 模型。但是,如果从另一个 Angular 来看,Account 表实际上是在创建一条新记录,因此 Account 模型可以有一个名为 createAccount() 的类方法。
哪个在语义上更正确?或者解决方案应该是您在用户实例上调用 addAccount() 和该方法在 Account 模型上调用类方法 createAccount() 的混合?
并且考虑到这是一个 node/express 应用程序,创建帐户的信息需要经过验证,然后从请求中解析。您将在哪里进行验证/解析?在调用帐户创建方法之前的路由中?或者作为 User 模型或 Account 模型的类方法中的“私有(private)”函数(__parseReq)?
最佳答案
如果我处于你的位置,我更愿意使用 addAccount
在用户实例上。主要原因是因为这样做,您可以轻松地说新创建的帐户“属于”相关用户实例。
无论如何,如果(出于某些原因)您确实需要在没有用户实例的情况下创建个人帐户,您仍然可以使用 Account.create()
.
对于值验证,您可以在执行 sequelize 操作之前手动验证,也可以在模型定义中定义验证规则(更多信息 here)。
关于javascript - Sequelize : Where should these methods reside,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37263240/