0
我有兩個表。表reports
在Laravel中刪除數據透視表中的行
report_id | user_id | item_id
和reports_messages
report_id | user_id | item_id | messages
我想,當我在reports
刪除report_id
這reports_messages
匹配report_id
所有相關行太刪除。
在我ReportMessages型號我有這個關係
public function reports(){
return $this->belongsTo('App\Report');
}
public function item(){
return $this->belongsTo('App\Item', 'item_id', 'id');
}
報告模型
public function reportedItem(){
return $this->belongsTo('App\Item');
}
public function user(){
return $this->hasOne('App\User', 'id', 'user_id');
}
到目前爲止,我已經試過這個解決方案在這裏建立在SO
public function destroy($report_id){
Report::destroy($report_id);
ReportMessages::find(1)->reports()->where('report_id',$report_id)->delete();
return redirect()->route('user.ports');
這將刪除僅在reports
..不會刪除數據透視表中的相關report_id。 }
謝謝。我有這個錯誤'調用未定義的方法Illuminate \ Database \ Query \ Builder :: detach()' – user5996816
我更新了我的答案,你實際上沒有一個數據透視表... – Jerodev
哦,天啊。我試圖用數據透視表來做。它們實際上只與模型相關聯。傻我。謝謝您的幫助! – user5996816