【发布时间】:2017-04-28 11:36:30
【问题描述】:
我想跟踪我的表中的更改并将其保存在另一个表中。例如,如果有人编辑我的“文本”表,我将其保存在“文本更改”表中。我的 textchanges 有 4 列,id、textid(外键)、旧文本、更改日期。我正在尝试做什么,在我的文本控制器中接近动作更新时,我创建了新的 textchange 模型并设置了属性,但它不起作用。
public function actionUpdate($id)
{
$model = $this->loadModel($id);
if (isset($_POST['Text'])) {
$model->attributes = $_POST['Text'];
$textChange = new TextsChanges();
$textChange->setAttributes(array('TextId' => $model->text_id, 'TextBefore' => $model->text_text, 'ChangeDate' => new DateTime()));
if ($model->save())
$this->redirect(array('view', 'id' => $model->text_id));
$textChange->save();
}
$this->render('update', array(
'model' => $model,
));
}
【问题讨论】: