2013-12-19 52 views
0

我只是想記錄是否有人刪除了一個項目。這是我的代碼記錄或檢測項目是否被刪除

public function actionDelete($id) 
    { 
     $model = new Apartments; //tbl_apartments 
     $_log = new Log; //tbl_log 
     $_log->issue = 'Tenant ' .$model->tenants. ' deleted '; 
     $_log->date = date('Y-m-d H:i:s'); 
     $_log->save(); 

     $this->loadModel($id)->delete(); 

     // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser 
     if(!isset($_GET['ajax'])) 
      $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin')); 
    } 

它可以很好地刪除,但不會記錄它。 = /有什麼問題?任何幫助,將不勝感激

+1

確實Log模型有規則方法嗎? 如果是的話,你能告訴我它是什麼嗎? 在'save()'之前調用驗證,如果您不想驗證,請使用'save(false)' –

+0

@AlirezaFallah說什麼。如果您的模型沒有保存,最有可能的驗證失敗。 – DaSourcerer

回答

0

您可以看到爲什麼save方法返回false的錯誤;

$_log->save(); 
print_r($_log->getErrors()); 
die(); 
0

您應該在您的模型中使用onAfterDelete()方法。

+0

不一定 –