在我的应用中,评论模型在“产品”视图中部分呈现。 一切都没问题,除了我在评论表中添加了一个新列后,我无法将数据保存到新列(名为'ddate')。 即使我试过这个:
$_POST['Comment']['ddate'] = 'something';
$model2->attributes=$_POST['Comment'];
$model2->save();
但没有工作!
答案 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");