fields not exists

浏览:13186 发布日期:2016/04/10 分类:求助交流
版本:thinkphp 5.0 rc2
控制器中        $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
最佳答案
评论( 相关
后面还有条评论,点击查看>>