トランザクションを実行するtry~catch処理
トランザクションとは処理をひとまとめにすることで
途中でエラーが発生した場合に
処理全体を中断ではなくキャンセルすることができます
use Illuminate\Support\Facades\DB;
// トランザクション開始
class コントローラー名 extends Controller
{
DB::beginTransaction();
try {
// 例外が発生する可能性のあるコードを記述します
// データベースの操作コードや
// インスタンスの呼出コードなどを記述します
DB::commit(); //データベースに反映します。
} catch (Exception $e) {
// 例外が発生した場合に行う処理を記述します
// $eは任意の名前の変数です
DB::rollBack(); // 処理をトランザクション開始まで戻します
}
}
try(試す) catch(捉える)
tryの内側にて処理を実行し
catchの内側にてエラーが起きてしまった場合の処理を実行します
cathcの内側にエラーメッセージを入力したり
最後にDB::rollBack();を記述することで処理前に戻すことができます。