post过来的值字段属性有没有看下呢。是否和数据库的字段值一致。
直接给attributes这样赋值未必正确吧,看看传过来的值,最好用load方法去填充模型
类似问题我见过,如下:
$model->attributes = $_POST['Category']
这种方式就容易出现这种情况,具体原因么?应该就是$_POST['Cagetory']不安全导致的。 建议使用:
$post = Yii::$app->request()->post('Cagetory');
载入方式也很多种:
$model->attributes = $post; $model->setAtrributes($post);
再或者就像楼上说的,干脆用load()方法
$model->load($_POST);
我也遇到过这个问题. 直接使用下面代码遍历可解决: foreach($_POST as $k=>$v){
$categoryModel->$k=$v; }
$categoryModel->save();
没注意你是用widget生成的表单,传递过来的POST有个外层数组Category ,这样代码应该是: `foreach($_POST['Category'] as $k=>$v){
$categoryModel->$k=$v; } $re=$categoryModel->save();`