sxtuwy 2012-11-02 11:23:25 4842次浏览 4条回复 0 0 0
$model=$this->loadModel($id);

$model->attributes=array('submitmark'=>true);

if($model->update()){

echo "yes";

}

而改成这样就对了?

  • 回复于 2012-12-14 17:23 举报

    这里的问题在 update 方法的参数是什么意思:

    在文档中中

    @param array $attributes list of attributes that need to be saved. Defaults to null, meaning all attributes that are loaded from DB will be saved.
    

    参数 array $attributes 需要保存的属性(元素)列表。默认为 null,即,所有从数据库中加载的属性(元素)都将会被保存(意思就是数据库中所有对应的列都将保存)

    你标题中的方法其实是个错误的方法。

  • 回复于 2012-12-19 10:32 举报

    请问这个uodate()怎么用啊?$model->update(array('uid' => 1, 'name' => 'qwerty', 'stauts' => 3)),我这样写,会报table "user" 没有任何栏位将被更新的错误

  • 回复于 2012-12-19 16:17 举报

    这个是你写的有错误,update 的参数是这样的 $model->update(array(字段1,字段2,字段3));注意:update 参数中是不可以赋值的,这里的参数只是说明那几个字段需要更新,要赋值的话在update之前使用 $model->参数 = 值 的方式赋值或者采用 $model->setAttribute(参数,值) 的方式来赋值

  • 回复于 2012-12-19 16:34 举报

    哦,知道了。明白了。谢谢了。学到了。

您需要登录后才可以回复。登录 | 立即注册