控制器中
$user['email'] = I('post.email');
$user['salt'] = $this->getRandChar(32);
$user['passWord'] = md5($passWord . $userModel->salt);
$userModel = D('UserModel');
$result = $userModel->add($user);打印出来$user也明明有值array(3) {
["email"] => string(15) "admin@admin.com"
["salt"] => string(32) "WoxgiBXna1rCysdWc1PpDXMvL0oNrrpN"
["passWord"] => string(32) "91f04419927c42bacc019ed693117b7d"
}结果总是提示Exception in Model.php line 264
fields not exists :[ passWord ]貌似是大小写的问题 太tmd讨厌了 为什么默认不开启大小写区分现在数据库配置了
'params' => [
\PDO::ATTR_CASE => \PDO::CASE_NATURAL,
]依然报错$userModel->getFields()得到的字段依然是小写
array(9) {
[0] => string(2) "id"
[1] => string(8) "nickname"
[2] => string(5) "email"
[3] => string(6) "mobile"
[4] => string(8) "password"
[5] => string(4) "salt"
[6] => string(6) "status"
[7] => string(11) "createdtime"
[8] => string(11) "updatedtime"
}另外model中定义的$auto和$insert属性压根没作用class UserModel extends Model
{
protected $tableName = 'user';
protected $auto = [ 'updated_time'=>NOW_TIME];
protected $insert = [
'created_time'=>NOW_TIME
];
}add的时候依然提示SQLSTATE[HY000]: General error: 1364 Field 'created_time' doesn't have a default value 最佳答案