質問編集履歴

1

該当のソースコードの追記、参考サイトの追記

2021/04/19 08:34

投稿

paypay12
paypay12

スコア1

test CHANGED
File without changes
test CHANGED
@@ -42,40 +42,238 @@
42
42
 
43
43
  現在、コード量を減らすためにforeach文でプルダウン内の選択肢を表示しています。
44
44
 
45
+ ※bladeファイルの一部のみではlaravelの要素として、不足していたかと思われますのでソースコードを追加しています。
46
+
47
+  
48
+
49
+ ▼bladeファイル
50
+
45
51
  ```php
46
52
 
53
+ @csrf
54
+
55
+ <div class="md-form">
56
+
57
+ <label>タイトル</label>
58
+
59
+ <input type="text" name="title" class="form-control" required value="{{ $article->title ?? old('title') }}">
60
+
61
+ </div>
62
+
63
+ <div class="form-group">
64
+
65
+
66
+
67
+
68
+
69
+ <label>ハンド</label><br />
70
+
71
+ <select name="rank">
72
+
73
+ <?php
74
+
75
+ $rank = array('A', 'K', 'Q', 'J', 'T', '9', '8', '7', '6', '5', '4', '3', '2');
76
+
77
+ foreach($rank as $rank){
78
+
79
+ print('<option value="' . $rank . '">' . $rank . '</option>');
80
+
81
+ }
82
+
83
+ ?>
84
+
85
+ </select>
86
+
87
+ </div>
88
+
89
+ ```
90
+
91
+  
92
+
93
+ ▼コントローラー
94
+
95
+ ```php
96
+
97
+ <?php
98
+
99
+
100
+
101
+ namespace App\Http\Controllers;
102
+
103
+
104
+
105
+ use Illuminate\Http\Request;
106
+
107
+ use App\Article;
108
+
109
+ use App\Http\Requests\ArticleRequest;
110
+
111
+
112
+
113
+ class ArticleController extends Controller
114
+
115
+ {
116
+
117
+ public function __construct()
118
+
119
+ {
120
+
121
+ $this->authorizeResource(Article::class, 'article');
122
+
123
+ }
124
+
125
+
126
+
127
+ function index(){
128
+
129
+ //@TODO 投稿一覧画面を表示
130
+
131
+ $articles = Article::all()->sortByDesc('created_at');
132
+
133
+ return view("articles.index", [
134
+
135
+ "articles" => $articles
136
+
137
+ ]);
138
+
139
+ }
140
+
141
+
142
+
143
+ //投稿処理を行う
144
+
145
+ function create(Request $request){
146
+
147
+ return view('articles.create');
148
+
149
+ }
150
+
151
+
152
+
153
+ //新規作成処理
154
+
155
+ public function store(ArticleRequest $request, Article $article)
156
+
157
+ {
158
+
159
+ $article->fill($request->all());
160
+
161
+ $article->user_id = $request->user()->id;
162
+
163
+ $article->save();
164
+
165
+ return redirect('articles.index');
166
+
167
+ }
168
+
169
+
170
+
171
+ //編集処理
172
+
173
+ public function edit(Article $article)
174
+
175
+ {
176
+
177
+ return view('articles.edit', ['article' => $article]);
178
+
179
+ }
180
+
181
+
182
+
183
+ //更新処理
184
+
185
+ public function update(ArticleRequest $request, Article $article)
186
+
187
+ {
188
+
189
+ $article->fill($request->all())->save();
190
+
191
+ return redirect()->route('articles.index');
192
+
193
+ }
194
+
195
+
196
+
197
+ //記事削除処理
198
+
199
+ public function destroy(Article $article)
200
+
201
+ {
202
+
203
+ $article->delete();
204
+
205
+ return redirect()->route('articles.index');
206
+
207
+ }
208
+
209
+
210
+
211
+ //詳細表示処理
212
+
213
+ public function show(Article $article)
214
+
215
+ {
216
+
217
+ return view('articles.show', ['article' => $article]);
218
+
219
+ }
220
+
221
+ }
222
+
223
+ ```
224
+
225
+  
226
+
227
+ ▼モデル
228
+
229
+ ```
230
+
231
+ <?php
232
+
233
+
234
+
235
+ namespace App;
236
+
237
+
238
+
239
+ use Illuminate\Database\Eloquent\Model;
240
+
241
+
242
+
243
+ class Article extends Model
244
+
245
+ {
246
+
247
+ protected $fillable = [
248
+
249
+ 'title',
250
+
251
+ 'rank',
252
+
253
+ ];
254
+
255
+ ```
256
+
257
+
258
+
259
+ ### 試したこと
260
+
261
+
262
+
263
+ webで調べて、以下のように「もし$_POST[‘rank’]のvalue(値)がPOSTされていて、かつAであればselectedをechoせよ。もし空であれば ” をechoせよ。」といった意味の記述をしてみましたが、変化がありませんでした。
264
+
265
+ ※ここで試したことは以下のサイトを参考にしておりました。
266
+
267
+ http://webukatu.com/blogs/butterfly_engineer/2019/08/04/%E3%80%90php%E3%80%91select%E3%82%BF%E3%82%B0%E3%81%AE%E9%81%B8%E6%8A%9E%E5%86%85%E5%AE%B9%E3%81%AE%E4%BF%9D%E6%8C%81/#i-2
268
+
269
+  
270
+
271
+ ▼bladeファイル
272
+
273
+ ```php
274
+
47
275
  <select name="rank">
48
276
 
49
- <?php
50
-
51
- $rank = array('A', 'K', 'Q', 'J', 'T', '9', '8', '7', '6', '5', '4', '3', '2');
52
-
53
- foreach($rank as $rank){
54
-
55
- print('<option value="' . $rank . '">' . $rank . '</option>');
56
-
57
- }
58
-
59
- ?>
60
-
61
- </select>
62
-
63
- ```
64
-
65
-
66
-
67
- ### 試したこと
68
-
69
-
70
-
71
- webで調べて、以下のように「もし$_POST[‘rank’]のvalue(値)がPOSTされていて、かつAであればselectedをechoせよ。もし空であれば ” をechoせよ。」といった意味の記述をしてみましたが、変化がありませんでした。
72
-
73
-
74
-
75
- ```php
76
-
77
- <select name="rank">
78
-
79
277
  <option value="A" <?php echo array_key_exists('rank', $_POST) && $_POST['rank'] == 'A' ? 'selected' : ''; ?>>A</option>
80
278
 
81
279
  <option value="K" <?php echo array_key_exists('rank', $_POST) && $_POST['rank'] == 'K' ? 'selected' : ''; ?>>K</option>
@@ -85,3 +283,11 @@
85
283
  ```
86
284
 
87
285
  ### 補足情報(FW/ツールのバージョンなど)
286
+
287
+ ・ソースコード欄にコントローラーとモデルを追加しております
288
+
289
+ ・「試したこと」内に参照サイトのリンク先を追加しております
290
+
291
+
292
+
293
+ 編集・追記依頼に対してお応えしたつもりではありますが、もしまだ不足店があればお伝えいただけますと幸いです。