2 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以暫時(shí)禁用外鍵約束
在 Laravel 中,您可以執(zhí)行以下操作:
$orderId = array();
$subscription = DB::table('tbl_asset_subscription')->where('id',$post['asset_id'])->get();
DB::transaction(function() {
DB::statement('SET FOREIGN_KEY_CHECKS=0');
foreach($subscription as $row) {
DB::table('tbl_asset_subscription')->where('id', $row->id)->delete();
}
foreach($subscription as $row) {
$order = DB::table('tbl_asset_order')->where('subscription_id', $row->id)->first();
$orderId[] = $order->id;
}
if($orderId) {
DB::table('tbl_asset_payment')->whereIn('order_id', $orderId)->delete();
DB::table('tbl_asset_order')->whereIn('id', $orderId )->delete();
}
DB::table('tbl_asset_versions')->where('asset_id', $post['asset_id'])->delete();
DB::table('tbl_assets')->where('id', $post['asset_id'])->delete();
DB::statement('SET FOREIGN_KEY_CHECKS=1');
});
echo(json_encode(array("result" => true)));

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
$orderId 不是關(guān)聯(lián)數(shù)組,因此出現(xiàn)錯(cuò)誤。試試這個(gè)代碼。
foreach($subscription as $row)
{
$order = DB::table('tbl_asset_order')->where('subscription_id',$row->id)->first();
$orderId[] = array(
'id' => $order->id
);
}
foreach($orderId as $row)
{
DB::table('tbl_asset_payment')->where('order_id',$row->id)->delete();
DB::table('tbl_asset_order')->where('id',$row->id)->delete();
}
DB::table('tbl_asset_versions')->where('asset_id',$post['asset_id'])->delete();
DB::table('tbl_assets')->where('id',$post['asset_id'])->delete();
// DB::table('tbl_asset_subscription')->where('asset_id',$post['asset_id'])->delete();
echo(json_encode(array("result" => true)));
- 2 回答
- 0 關(guān)注
- 225 瀏覽
添加回答
舉報(bào)