Model view controller MVC模型中的非sql验证

Model view controller MVC模型中的非sql验证,model-view-controller,Model View Controller,我有一个经典的Reader/Subscription/Paper模式,我希望在同一对Reader x Paper中不会有两个订阅 为了保证这一点,我在订阅插入过程中检查是否已经有具有此类密钥的子订阅。但是,一位同事告诉我,我应该将此验证移到模型之外,因为它应该只运行SQL命令 MVC中的模型应该这样做吗?它们应该只包含SQL相关的命令?从数据库的角度来看,您应该在数据库表中的Reader/Paper列上创建一个唯一的约束。然后,任何东西都不能将无效数据放入数据库。记住,除了你的应用程序之外,还有

我有一个经典的Reader/Subscription/Paper模式,我希望在同一对Reader x Paper中不会有两个订阅

为了保证这一点,我在订阅插入过程中检查是否已经有具有此类密钥的子订阅。但是,一位同事告诉我,我应该将此验证移到模型之外,因为它应该只运行SQL命令


MVC中的模型应该这样做吗?它们应该只包含SQL相关的命令?

从数据库的角度来看,您应该在数据库表中的Reader/Paper列上创建一个唯一的约束。然后,任何东西都不能将无效数据放入数据库。记住,除了你的应用程序之外,还有其他东西可能会把数据放在这里,所以在IMHO中,在数据库级别定义这些东西很重要,而不是在外部应用程序中。谢谢,你是对的。对于其他在这里观看的人来说,这是如何