Yii:无法将数据保存到新添加的列中

时间:2014-06-25 08:12:47

标签: php yii

在我的应用中,评论模型在“产品”视图中部分呈现。 一切都没问题,除了我在评论表中添加了一个新列后,我无法将数据保存到新列(名为'ddate')。 即使我试过这个:

$_POST['Comment']['ddate'] = 'something';
$model2->attributes=$_POST['Comment'];
$model2->save();

但没有工作!

2 个答案:

答案 0 :(得分:1)

$temp = $model->attributes;
$model->setFields($_POST['Comment'];);
$model->ddate  = $_POST['Comment']['ddate'];
if($model->save())
{
    echo "saved";
}

答案 1 :(得分:0)

您必须将属性设置为' safe'在模型中,或者在调用$model2->attributes = $_POST['Comment'];时不会将表单值复制到模型中。

示例:

public function rules() {
    return array(
        array('ddate', 'safe'),
    );
}

如果您始终希望ddate为当前日期/时间,则最好将其设置为beforeSave()

protected function beforeSave() {

    if($this->hasAttribute('ddate') && !isset($this->ddate)) 
        $this->ddate = date("Y-m-d H:i:s");