2016-06-15 75 views
1

我有兩個表Table 1和Table,我想刪除這兩個table.I行有兩個表上相同的值,但ID是不同的,所以我想這樣的,我的 控制器,yii2:使用單個控制器操作刪除兩個表中的值?

public function actionDelete($id) 
{ 
$this->findModel($id); 
$select = Employee::find() 
      ->select('Name') 
      ->where(['Id' => $id]) 
      ->all(); 
$deluser=Employee::find()->where(['Id' => $id])->one()->delete() AND User::find()->where(['Name' =>$select])->one(); 
$deluser->delete(); 
return $this->redirect(['index','select'=>$select]); 
} 

PLS任何人都可以幫助我 在此先感謝

+0

請把它放回去,你有什麼變化,你的問題 –

回答

3

員工類是對象。

試試這個:

public function actionDelete($id) 
{ 
    $this->findModel($id); 
    $select = Employee::find() 
       ->select('Name') 
       ->where(['Id' => $id]) 
       ->all(); 

    Employee::find()->where(['id' => $id])->one()->delete(); 

    User::find()->where(['id' =>$id])->one()->delete(); 

    return $this->redirect(['index','select'=>$select]); 
} 
+0

我試過這種方式,但PHP致命錯誤 - 對警予\基地\ ErrorException 調用一個成員函數刪除()一個非對象 得到這個錯誤 – Ammu

+0

兩個表都有不同的id值,所以我不能在用戶表中使用$ id來刪除。但是這兩個表都有列名和相同的值,所以如何使用$ id在employee表中查找名稱並基於該名稱刪除用戶表中的行。 – Ammu

+0

爲什麼叫?爲什麼不使用某種關係,比如將用戶標識放入員工表中作爲外鍵? –

相關問題