質問編集履歴

1

2018/01/28 09:09

投稿

kiritan
kiritan

スコア30

test CHANGED
File without changes
test CHANGED
@@ -1,22 +1,12 @@
1
- laravelのDB操作について3点質問がございます。
1
+ laravelのDB操作について質問がございます。
2
2
 
3
3
  【1】table1とtable2にデータをインサートしたいのですが、
4
4
 
5
- どちらかのテーブルでレコードのインサートに失敗した場合全てのインサートをロールバックしたいです。
5
+ どちらかのテーブルでレコードのインサートに失敗した場合それまでの全てのインサートをロールバックしたいです。
6
6
 
7
7
  下記コード①により実現できているでしょうか?
8
8
 
9
9
 
10
-
11
- 【2】【1】の質問が実現できるとなるなら、同じプログラム内で第二のトランザクションを発生させたいです。
12
-
13
- その場合下記コード②を追記し新しいトランザクションを発生されたことになりますでしょうか?
14
-
15
-
16
-
17
- 【3】トランザクションはコネクションごとに発生させることができるという認識ですが、下記コードの場合どこでコネクションが発生しているか、
18
-
19
- またトランザクションを終わる?解放?するコードがないのは、commitもしくはrollback実行時にトランザクションの終了となるのでしょうか?
20
10
 
21
11
 
22
12
 
@@ -44,24 +34,6 @@
44
34
 
45
35
  DB::rollBack();
46
36
 
47
- var_dump("error!");
37
+
48
38
 
49
39
  }
50
-
51
-
52
-
53
- DB::beginTransaction();
54
-
55
- try {
56
-
57
- DB::table('table3')->insert($arr3);
58
-
59
- DB::table('table4')->insert($arr4);
60
-
61
-
62
-
63
- } catch(Exception $e) {
64
-
65
- DB::rollBack();
66
-
67
- }