teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

2018/01/28 09:09

投稿

kiritan
kiritan

スコア30

title CHANGED
File without changes
body CHANGED
@@ -1,14 +1,9 @@
1
- laravelのDB操作について3点質問がございます。
1
+ laravelのDB操作について質問がございます。
2
2
  【1】table1とtable2にデータをインサートしたいのですが、
3
- どちらかのテーブルでレコードのインサートに失敗した場合全てのインサートをロールバックしたいです。
3
+ どちらかのテーブルでレコードのインサートに失敗した場合それまでの全てのインサートをロールバックしたいです。
4
4
  下記コード①により実現できているでしょうか?
5
5
 
6
- 【2】【1】の質問が実現できるとなるなら、同じプログラム内で第二のトランザクションを発生させたいです。
7
- その場合下記コード②を追記し新しいトランザクションを発生されたことになりますでしょうか?
8
6
 
9
- 【3】トランザクションはコネクションごとに発生させることができるという認識ですが、下記コードの場合どこでコネクションが発生しているか、
10
- またトランザクションを終わる?解放?するコードがないのは、commitもしくはrollback実行時にトランザクションの終了となるのでしょうか?
11
-
12
7
  プログラミングをしだして1週間ほどなのでとんちんかんなことを質問していたら本当にすみません。
13
8
  皆様よろしくお願いいたします。
14
9
 
@@ -21,14 +16,5 @@
21
16
 
22
17
  } catch(Exception $e) {
23
18
  DB::rollBack();
24
- var_dump("error!");
19
+
25
- }
26
-
27
- DB::beginTransaction();
28
- try {
29
- DB::table('table3')->insert($arr3);
30
- DB::table('table4')->insert($arr4);
31
-
32
- } catch(Exception $e) {
33
- DB::rollBack();
34
20
  }