public function findUser($where){ // Don't use 'find' as function name
$User = M('User');
return $User->where($where)->find();
}
1 问题描述写了一个注册功能,用了TP的自动验证来验证用户注册邮箱的唯一性,结果发现,只要数据库里面有一条数据存在,那么就会提示该邮箱已经被注册
2 原因
查看TP的日志,发现因为我在UserModel里面写了find方法,在TP验证唯一时,它会自动调用find方法查询数据库来验证该字段的唯一性,从而导致了冲突
3 总结
在模型里面写方法的时候 不要使用 add、find等关键字,以免和TP的函数冲突,比如UserModel里的方法可以这样命名 addUser、findUser,
既不会有冲突,还能知道该方法由TP的那个方法封装而来,一目了然
最佳答案
