你有两张桌子:
用户可以拥有多个帐户。
您需要向用户添加帐户。使用Sequelize,您可以将实例方法附加到名为addAccount()的User模型。但是,如果从不同的角度来看,Account表实际上是在创建一个新记录,因此Account模型可以有一个名为createAccount()的类方法。
哪个语义更正确?或者,如果您在用户实例上调用addAccount()并且该方法在Account模型上调用类方法createAccount(),那么解决方案应该是两者的混合吗?
考虑到这是一个节点/快递应用程序,需要验证创建帐户的信息,然后从请求中解析。你会在哪里进行验证/解析?在调用帐户创建方法之前的路由中?或者作为User模型或Account模型的类方法中的“私有”函数(__parseReq)?
答案 0 :(得分:0)
如果我在你的位置,我宁愿在用户实例上使用addAccount
。主要原因是,通过这样做,您可以轻松地说新创建的帐户属于"有问题的用户实例。
无论如何,如果(由于某些原因)您确实需要在没有用户实例的情况下创建个人帐户,您仍然可以使用Account.create()
。
对于值验证,您可以在执行续订操作之前手动验证,也可以在模型定义中定义验证规则(更多信息here)。