沒有與beforeDelete
功能下面的模型任務:beforeDelete功能不起作用
public function beforeDelete()
{
$model=Proposal::model()->findAllByAttributes(array('task_id'=>$this->id));
$model->updateAll(array('task_id'=>null, 'task_result'=>null));
parent::beforeDelete();
}
正如你所看到的,我想從Proposal
模型得到一些記錄(使用task_id
場)和更新一些領域在排序的記錄。但是這段代碼不起作用 - 任務從任務表中刪除而不更新投標表中的字段。我該如何解決它?
更新:
$model=Proposal::model()->findAllByAttributes(array('task_id'=>$this->id));
foreach ($model as $proposal)
{
$proposal->task_id=null;
$proposal->task_result=null;
$proposal->update();
}
parent::beforeDelete();
我剛剛更新了我的代碼,但它並沒有正常工作。
這不應該在所有的工作 - 'findAll'返回一個數組,而不是一個對象,你也不會返回任何權限實際刪除記錄...刪除'findAllByAttributes'行,並將調整後的搜索條件作爲第二個參數傳遞給'updateAll'。 – DCoder 2013-05-10 15:33:09
請看看更新 – user2218845 2013-05-10 15:49:23