我有一个Users表,其中不存在两个相同的用户,这个错误的最佳方法是什么?
我所做的是我在控制器中写了一份重复检查,但是有人对我说这不是一件正确的事。他说在数据库表上放了唯一的?我也在其他几个控制器上实现了这个功能。我应该改变吗?
答案 0 :(得分:5)
尽可能在数据库级别强制执行数据约束要好得多。考虑以下情况:
大约在同一时间创建具有相同名称的用户的2个请求。
至于是否使用唯一约束,或将其作为主键,是另一个问题,并且在很大程度上取决于您的情况(因为您在此表上确实有某种主键,不是吗? ?)
答案 1 :(得分:3)
有几个地方你应该这样做。
- 编辑 -
建议将所有三个用于更好的验证。不一致的数据对您的系统来说是最糟糕的事情。因为我认为,正确的数据=良好的质量
- 结束编辑 -
请注意,验证码应放在模型中,并了解如何编写可管理的OO代码,您可以看到mvc store front的示例。
希望这会有所帮助