回答編集履歴

3

修正

2016/02/12 12:24

投稿

fagai
fagai

スコア2158

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- storeメソッドということもありPOSTで送信している場合は`return back();`等で前のページに戻したりすると前のページでメッセージを1回だけ出力するようになり、うまくいくと思います。
5
+ storeメソッドということもありPOSTで送信している場合は`return back();`やredirectメソッド等で前のページに戻したりすると前のページでメッセージを1回だけ出力するようになり、うまくいくと思います。
6
6
 
7
7
 
8
8
 

2

修正

2016/02/12 12:24

投稿

fagai
fagai

スコア2158

test CHANGED
@@ -1,4 +1,8 @@
1
1
  フラッシュメッセージというのは遷移先で出す物ですのでredirectをした先で表示するので、そのデータを入れたメソッド内で表示させることは想定されていません。
2
+
3
+
4
+
5
+ storeメソッドということもありPOSTで送信している場合は`return back();`等で前のページに戻したりすると前のページでメッセージを1回だけ出力するようになり、うまくいくと思います。
2
6
 
3
7
 
4
8
 
@@ -50,4 +54,4 @@
50
54
 
51
55
 
52
56
 
53
- 、storeメソッドとうこともありPOST送信している場合は`return back();`等で前のページに戻したりるとうまくいくと思います
57
+ たいな感じです

1

例を追加

2016/02/12 12:21

投稿

fagai
fagai

スコア2158

test CHANGED
@@ -1,8 +1,52 @@
1
- フラッシュメッセージというのは遷移先で出す物ですのでredirectをした先で表示するので入れたメソッド内で表示させることは想定されていません。
1
+ フラッシュメッセージというのは遷移先で出す物ですのでredirectをした先で表示するので、そのデータを入れたメソッド内で表示させることは想定されていません。
2
2
 
3
3
 
4
4
 
5
- 単純に移動せずに出すのであればそのままviewに引数を渡すと良いでしょう。
5
+ 移動せずに出すのであればそのままviewに引数を渡すと良いでしょう。(私はredirectを推奨したいですが)
6
+
7
+
8
+
9
+ 例えば、、、
10
+
11
+
12
+
13
+ ```
14
+
15
+ $flash_messages = [];
16
+
17
+ try{
18
+
19
+ // 省略
20
+
21
+ $flash_messages[] = '試合結果を '.$target_cnt.'件 登録しました。';
22
+
23
+ }
24
+
25
+ // 省略
26
+
27
+ return view('test.teststore',['flash_messages' => $flash_messages]);
28
+
29
+ ```
30
+
31
+
32
+
33
+ ```
34
+
35
+ @if (count($flash_messages) > 0)
36
+
37
+ <div class="alert alert-success">
38
+
39
+ @foreach($flash_messages as $message)
40
+
41
+ {{ $message }}<br>
42
+
43
+ @endforeach
44
+
45
+ </div>
46
+
47
+ @endif
48
+
49
+ ```
6
50
 
7
51
 
8
52