は、私がのForeachループ - foreachループですべてまたは何も
foreach($items as $item)
{
// charge a user for purchasing an item - IS BEING DONE THROUGH AN API CALL WITH STRIPE
// ie: \Stripe\Charge::create(...);
// save some info to a database
// using Laravel for this project so this is within a DB::transaction(...);
// send a notification email to the buyer
// Emails are being queued to avoid slowing down the request
// ie: Mail::queue(...);
}
私はオールオアナッシングな状況が発生したい、次のやってみたかったと言います。例えば、反復中にエラーが発生した場合、アイテムのうちの1アイテムは請求されず、情報はデータベースに保存されず、購入者は通知電子メールを受け取らない。ただし、foreachループが各アイテムを正常に反復してから、ユーザーに請求し、情報をデータベースに保存し、通知電子メールを送信します。これはどうすればいいですか?
すべての商品について同じバイヤーに通知されますか? – Terminus
あなたはどんなDBMSを使用していますか? –
これはトランザクションとして処理する必要があると思います。 –