需要一些帮助
[当我从众筹平台删除广告系列时,如果该广告系列已经付款了,则会出错,
付款仍在数据库中而没有广告系列所以我在付款清单视图中出现了错误。我唯一的解决方案是转到数据库并删除属于已删除广告系列的付款。
当我删除广告系列时,它还必须删除自己的付款
public function deleteCampaigns($id = 0){
if(config('app.is_demo')){
return redirect()->back()->with('error', __('app.feature_disable_demo'));
}
if ($id){
$campaign = Campaign::find($id);
if ($campaign){
$campaign->delete();
}
}
return back()->with('success', trans('app.campaign_deleted'));
}
数据库中的每笔付款都与广告系列表中的campaign_id相关联
delete()
,只要没有附加约束,它就会删除所有相关的付款。因此,假设与付款的toMany关系称为payments
,然后:
if ($campaign){
$campaign->payments()->delete();
$campaign->delete();
}
$table->foreign('campaign_id') ->references('id')->on('payments') ->onDelete('cascade');
因此,当您删除广告系列时,它将删除其付款外键约束模型,或者更容易地说其雄辩的hasMany关系。