質問編集履歴

6

情報の追加のため

2020/07/23 08:45

投稿

kuwabaraakinori
kuwabaraakinori

スコア10

test CHANGED
File without changes
test CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  validateに失敗してエラーメッセージが返されるのでエラーを解消したいと考えております。
6
6
 
7
+ stackoverflowで確認してみても解決できず、もう一度teratailで編集して質問でしております。
8
+
7
9
  ご教授いただければ幸いです。
8
10
 
9
11
 
@@ -120,15 +122,19 @@
120
122
 
121
123
  {
122
124
 
125
+
126
+
123
- dd($request->file('picture'));
127
+ if($request->validated()){
124
-
128
+
125
- if ($request->file('picture')->isValid()){
129
+ $content =new Content;
126
130
 
127
131
 
128
132
 
133
+ $filename = $request->file('picture')->store('public/picture');
134
+
129
- $content =new Content;
135
+ $content->picture = basename($filename);
130
-
131
-
136
+
137
+
132
138
 
133
139
  $content->user_id = $request->user_id;
134
140
 
@@ -146,250 +152,228 @@
146
152
 
147
153
 
148
154
 
155
+ $content->save();
156
+
157
+ }
158
+
159
+
160
+
161
+ return redirect('/');
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+ }
170
+
171
+ ```
172
+
173
+ ```content.create
174
+
175
+ @extends('layouts.app')
176
+
177
+ @section('content')
178
+
179
+ <div class="card">
180
+
181
+ <div class="card-body">
182
+
183
+ <form action="{{route('content.store')}}" method="post" enctype="multipart/form-data" >
184
+
185
+ @csrf
186
+
187
+ <div class="form-group">
188
+
189
+ <label for="exampleFormControlInput1">タイトル</label>
190
+
191
+ <input type="text" class="form-control" id="exampleFormControlInput1" placeholder="旅のタイトル" name="title" >
192
+
193
+ </div>
194
+
195
+ <div class="form-group">
196
+
197
+ <label for="exampleFormControlSelect1">大陸名</label>
198
+
199
+ <select class="form-control" id="exampleFormControlSelect1" name="continent" >
200
+
201
+ <option>アジア</option>
202
+
203
+ <option>北アメリカ</option>
204
+
205
+ <option>中南米</option>
206
+
207
+ <option>ヨーロッパ</option>
208
+
209
+ <option>アフリカ</option>
210
+
211
+ <option>オセアニア</option>
212
+
213
+ </select>
214
+
215
+ </div>
216
+
217
+ <div class="form-group">
218
+
219
+ <label for="exampleFormControlInput1">国名</label>
220
+
221
+ <input type="text" class="form-control" id="exampleFormControlInput1" placeholder="日本" name="country" >
222
+
223
+ </div>
224
+
225
+ <div class="form-group">
226
+
227
+ <label for="exampleFormControlSelect1">滞在期間</label>
228
+
229
+ <select class="form-control" id="exampleFormControlSelect1" name="span" placeholder="滞在期間を選択" >
230
+
231
+ <option>1</option>
232
+
233
+ <option>2</option>
234
+
235
+ <option>3</option>
236
+
237
+ <option>4</option>
238
+
239
+ <option>5</option>
240
+
241
+ <option>6</option>
242
+
243
+ <option>7</option>
244
+
245
+ <option>8</option>
246
+
247
+ <option>9</option>
248
+
249
+ <option>10</option>
250
+
251
+ <option>11</option>
252
+
253
+  <option>12</option>
254
+
255
+  <option>13</option>
256
+
257
+  <option>14</option>
258
+
259
+  <option>15</option>
260
+
261
+  <option>16</option>
262
+
263
+  <option>17</option>
264
+
265
+ </select>
266
+
267
+ </div>
268
+
269
+ <div class="form-group">
270
+
271
+ <label for="exampleFormControlSelect1">費用</label>
272
+
273
+ <select class="form-control" id="exampleFormControlSelect1" name="costs" placeholder="金額を選択" value='{{old('costs')}}'>
274
+
275
+ <option>10000</option>
276
+
277
+ <option>30000</option>
278
+
279
+ <option>50000</option>
280
+
281
+ <option>70000</option>
282
+
283
+ <option>100000</option>
284
+
285
+ <option>150000</option>
286
+
287
+ <option>200000</option>
288
+
289
+ <option>250000</option>
290
+
291
+ <option>300000</option>
292
+
293
+ </select>
294
+
295
+ </div>
296
+
297
+ <div class="form-group">
298
+
299
+ <label for="exampleFormControlFile1">写真</label>
300
+
301
+ <input type="file" class="form-control-file" id="exampleFormControlFile1" name="picture">
302
+
303
+ </div>
304
+
305
+ <div class="form-group">
306
+
307
+ <label for="exampleFormControlTextarea1">コンテンツ</label>
308
+
309
+ <textarea class="form-control" id="exampleFormControlTextarea1" rows="5" name="content" ></textarea>
310
+
311
+ </div>
312
+
313
+ <input type="hidden" name="user_id" value="{{Auth::id()}}">
314
+
315
+ <button type="submit" class="btn btn-primary btn-lg btn-block">投稿</button>
316
+
317
+ </form>
318
+
319
+ </div>
320
+
321
+ </div>
322
+
323
+ @endsection
324
+
325
+ ```
326
+
327
+ ```
328
+
329
+ マイグレーションファイル
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+ public function up()
338
+
339
+ {
340
+
341
+ Schema::create('contents', function (Blueprint $table) {
342
+
343
+ $table->bigIncrements('id');
344
+
345
+ $table->unsignedBigInteger('user_id');
346
+
347
+ $table->string('title' , 50);
348
+
349
+ $table->string('continent');
350
+
351
+ $table->string('country');
352
+
353
+ $table->string('picture');
354
+
355
+ $table->string('content' , 250);
356
+
357
+ $table->integer('costs');
358
+
359
+ $table->integer('span');
360
+
361
+ $table->timestamps();
362
+
149
363
 
150
364
 
365
+ //外部キー制約
366
+
151
- $filename=$request->file('picture')->store('public/picture');
367
+ $table->foreign('user_id')->references('id')->on('users');
152
-
153
-
154
-
155
- $content->picture = basename($filename);
368
+
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
- /*
164
-
165
- if(!isset($data['picture'])){
166
-
167
- array_set($data , 'picture' ,basename($filename) );
168
-
169
- }
369
+ });
170
-
171
- */
370
+
172
-
173
-
174
-
175
-
176
-
177
- $content->save();
371
+
178
-
179
-
180
-
181
- }
182
-
183
- return redirect('/');
184
372
 
185
373
  }
186
374
 
187
375
  ```
188
376
 
189
- ```content.create
190
-
191
- @extends('layouts.app')
192
-
193
- @section('content')
194
-
195
- <div class="card">
196
-
197
- <div class="card-body">
198
-
199
- <form action="{{route('content.store')}}" method="post" enctype="multipart/form-data" >
200
-
201
- @csrf
202
-
203
- <div class="form-group">
204
-
205
- <label for="exampleFormControlInput1">タイトル</label>
206
-
207
- <input type="text" class="form-control" id="exampleFormControlInput1" placeholder="旅のタイトル" name="title" >
208
-
209
- </div>
210
-
211
- <div class="form-group">
212
-
213
- <label for="exampleFormControlSelect1">大陸名</label>
214
-
215
- <select class="form-control" id="exampleFormControlSelect1" name="continent" >
216
-
217
- <option>アジア</option>
218
-
219
- <option>北アメリカ</option>
220
-
221
- <option>中南米</option>
222
-
223
- <option>ヨーロッパ</option>
224
-
225
- <option>アフリカ</option>
226
-
227
- <option>オセアニア</option>
228
-
229
- </select>
230
-
231
- </div>
232
-
233
- <div class="form-group">
234
-
235
- <label for="exampleFormControlInput1">国名</label>
236
-
237
- <input type="text" class="form-control" id="exampleFormControlInput1" placeholder="日本" name="country" >
238
-
239
- </div>
240
-
241
- <div class="form-group">
242
-
243
- <label for="exampleFormControlSelect1">滞在期間</label>
244
-
245
- <select class="form-control" id="exampleFormControlSelect1" name="span" placeholder="滞在期間を選択" >
246
-
247
- <option>1</option>
248
-
249
- <option>2</option>
250
-
251
- <option>3</option>
252
-
253
- <option>4</option>
254
-
255
- <option>5</option>
256
-
257
- <option>6</option>
258
-
259
- <option>7</option>
260
-
261
- <option>8</option>
262
-
263
- <option>9</option>
264
-
265
- <option>10</option>
266
-
267
- <option>11</option>
268
-
269
-  <option>12</option>
270
-
271
-  <option>13</option>
272
-
273
-  <option>14</option>
274
-
275
-  <option>15</option>
276
-
277
-  <option>16</option>
278
-
279
-  <option>17</option>
280
-
281
- </select>
282
-
283
- </div>
284
-
285
- <div class="form-group">
286
-
287
- <label for="exampleFormControlSelect1">費用</label>
288
-
289
- <select class="form-control" id="exampleFormControlSelect1" name="costs" placeholder="金額を選択" value='{{old('costs')}}'>
290
-
291
- <option>10000</option>
292
-
293
- <option>30000</option>
294
-
295
- <option>50000</option>
296
-
297
- <option>70000</option>
298
-
299
- <option>100000</option>
300
-
301
- <option>150000</option>
302
-
303
- <option>200000</option>
304
-
305
- <option>250000</option>
306
-
307
- <option>300000</option>
308
-
309
- </select>
310
-
311
- </div>
312
-
313
- <div class="form-group">
314
-
315
- <label for="exampleFormControlFile1">写真</label>
316
-
317
- <input type="file" class="form-control-file" id="exampleFormControlFile1" name="picture">
318
-
319
- </div>
320
-
321
- <div class="form-group">
322
-
323
- <label for="exampleFormControlTextarea1">コンテンツ</label>
324
-
325
- <textarea class="form-control" id="exampleFormControlTextarea1" rows="5" name="content" ></textarea>
326
-
327
- </div>
328
-
329
- <input type="hidden" name="user_id" value="{{Auth::id()}}">
330
-
331
- <button type="submit" class="btn btn-primary btn-lg btn-block">投稿</button>
332
-
333
- </form>
334
-
335
- </div>
336
-
337
- </div>
338
-
339
- @endsection
340
-
341
- ```
342
-
343
- ```
344
-
345
- マイグレーションファイル
346
-
347
-
348
-
349
-
350
-
351
-
352
-
353
- public function up()
354
-
355
- {
356
-
357
- Schema::create('contents', function (Blueprint $table) {
358
-
359
- $table->bigIncrements('id');
360
-
361
- $table->unsignedBigInteger('user_id');
362
-
363
- $table->string('title' , 50);
364
-
365
- $table->string('continent');
366
-
367
- $table->string('country');
368
-
369
- $table->string('picture');
370
-
371
- $table->string('content' , 250);
372
-
373
- $table->integer('costs');
374
-
375
- $table->integer('span');
376
-
377
- $table->timestamps();
378
-
379
-
380
-
381
- //外部キー制約
382
-
383
- $table->foreign('user_id')->references('id')->on('users');
384
-
385
- });
386
-
387
-
388
-
389
- }
390
-
391
- ```
392
-
393
377
 
394
378
 
395
379
  ### 試したこと
@@ -400,6 +384,14 @@
400
384
 
401
385
  ・バリデーションルールをimageやfileだけにしても失敗してしまいます。
402
386
 
387
+ ・dd($request>all())をControllerとrules()でやっても同じ結果でした。
388
+
389
+ ・バリデーションルールをimageのみやmilesだけにしてもダメでした。
390
+
391
+ ・isValid()メソッドを利用しても同じエラーメッセージでした。
392
+
393
+
394
+
403
395
  ### 補足情報(FW/ツールのバージョンなど)
404
396
 
405
397
 

5

情報の追加のため

2020/07/23 08:45

投稿

kuwabaraakinori
kuwabaraakinori

スコア10

test CHANGED
File without changes
test CHANGED
@@ -340,6 +340,56 @@
340
340
 
341
341
  ```
342
342
 
343
+ ```
344
+
345
+ マイグレーションファイル
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+ public function up()
354
+
355
+ {
356
+
357
+ Schema::create('contents', function (Blueprint $table) {
358
+
359
+ $table->bigIncrements('id');
360
+
361
+ $table->unsignedBigInteger('user_id');
362
+
363
+ $table->string('title' , 50);
364
+
365
+ $table->string('continent');
366
+
367
+ $table->string('country');
368
+
369
+ $table->string('picture');
370
+
371
+ $table->string('content' , 250);
372
+
373
+ $table->integer('costs');
374
+
375
+ $table->integer('span');
376
+
377
+ $table->timestamps();
378
+
379
+
380
+
381
+ //外部キー制約
382
+
383
+ $table->foreign('user_id')->references('id')->on('users');
384
+
385
+ });
386
+
387
+
388
+
389
+ }
390
+
391
+ ```
392
+
343
393
 
344
394
 
345
395
  ### 試したこと

4

情報の追加のため

2020/07/22 06:15

投稿

kuwabaraakinori
kuwabaraakinori

スコア10

test CHANGED
@@ -1 +1 @@
1
- Laravelでの画像アップロードについて
1
+ Laravelでの画像アップロードについて(validationのエラー)
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
-
3
+ Laravelで旅行投稿サイトを制作中です。しかし、フォームで作成した写真が
4
4
 
5
5
  validateに失敗してエラーメッセージが返されるのでエラーを解消したいと考えております。
6
6
 

3

情報の追加のため

2020/07/22 03:47

投稿

kuwabaraakinori
kuwabaraakinori

スコア10

test CHANGED
File without changes
test CHANGED
@@ -354,4 +354,4 @@
354
354
 
355
355
 
356
356
 
357
- ここにより詳細な情報を記載してください。
357
+ Laravel6.0

2

タイトル変更のため

2020/07/19 20:56

投稿

kuwabaraakinori
kuwabaraakinori

スコア10

test CHANGED
@@ -1 +1 @@
1
- validateに失敗してエラーメジが返されるのでエラーを解消した
1
+ Laravelでの画像アプロドにつ
test CHANGED
File without changes

1

載せ忘れがありました

2020/07/19 02:22

投稿

kuwabaraakinori
kuwabaraakinori

スコア10

test CHANGED
File without changes
test CHANGED
@@ -186,6 +186,160 @@
186
186
 
187
187
  ```
188
188
 
189
+ ```content.create
190
+
191
+ @extends('layouts.app')
192
+
193
+ @section('content')
194
+
195
+ <div class="card">
196
+
197
+ <div class="card-body">
198
+
199
+ <form action="{{route('content.store')}}" method="post" enctype="multipart/form-data" >
200
+
201
+ @csrf
202
+
203
+ <div class="form-group">
204
+
205
+ <label for="exampleFormControlInput1">タイトル</label>
206
+
207
+ <input type="text" class="form-control" id="exampleFormControlInput1" placeholder="旅のタイトル" name="title" >
208
+
209
+ </div>
210
+
211
+ <div class="form-group">
212
+
213
+ <label for="exampleFormControlSelect1">大陸名</label>
214
+
215
+ <select class="form-control" id="exampleFormControlSelect1" name="continent" >
216
+
217
+ <option>アジア</option>
218
+
219
+ <option>北アメリカ</option>
220
+
221
+ <option>中南米</option>
222
+
223
+ <option>ヨーロッパ</option>
224
+
225
+ <option>アフリカ</option>
226
+
227
+ <option>オセアニア</option>
228
+
229
+ </select>
230
+
231
+ </div>
232
+
233
+ <div class="form-group">
234
+
235
+ <label for="exampleFormControlInput1">国名</label>
236
+
237
+ <input type="text" class="form-control" id="exampleFormControlInput1" placeholder="日本" name="country" >
238
+
239
+ </div>
240
+
241
+ <div class="form-group">
242
+
243
+ <label for="exampleFormControlSelect1">滞在期間</label>
244
+
245
+ <select class="form-control" id="exampleFormControlSelect1" name="span" placeholder="滞在期間を選択" >
246
+
247
+ <option>1</option>
248
+
249
+ <option>2</option>
250
+
251
+ <option>3</option>
252
+
253
+ <option>4</option>
254
+
255
+ <option>5</option>
256
+
257
+ <option>6</option>
258
+
259
+ <option>7</option>
260
+
261
+ <option>8</option>
262
+
263
+ <option>9</option>
264
+
265
+ <option>10</option>
266
+
267
+ <option>11</option>
268
+
269
+  <option>12</option>
270
+
271
+  <option>13</option>
272
+
273
+  <option>14</option>
274
+
275
+  <option>15</option>
276
+
277
+  <option>16</option>
278
+
279
+  <option>17</option>
280
+
281
+ </select>
282
+
283
+ </div>
284
+
285
+ <div class="form-group">
286
+
287
+ <label for="exampleFormControlSelect1">費用</label>
288
+
289
+ <select class="form-control" id="exampleFormControlSelect1" name="costs" placeholder="金額を選択" value='{{old('costs')}}'>
290
+
291
+ <option>10000</option>
292
+
293
+ <option>30000</option>
294
+
295
+ <option>50000</option>
296
+
297
+ <option>70000</option>
298
+
299
+ <option>100000</option>
300
+
301
+ <option>150000</option>
302
+
303
+ <option>200000</option>
304
+
305
+ <option>250000</option>
306
+
307
+ <option>300000</option>
308
+
309
+ </select>
310
+
311
+ </div>
312
+
313
+ <div class="form-group">
314
+
315
+ <label for="exampleFormControlFile1">写真</label>
316
+
317
+ <input type="file" class="form-control-file" id="exampleFormControlFile1" name="picture">
318
+
319
+ </div>
320
+
321
+ <div class="form-group">
322
+
323
+ <label for="exampleFormControlTextarea1">コンテンツ</label>
324
+
325
+ <textarea class="form-control" id="exampleFormControlTextarea1" rows="5" name="content" ></textarea>
326
+
327
+ </div>
328
+
329
+ <input type="hidden" name="user_id" value="{{Auth::id()}}">
330
+
331
+ <button type="submit" class="btn btn-primary btn-lg btn-block">投稿</button>
332
+
333
+ </form>
334
+
335
+ </div>
336
+
337
+ </div>
338
+
339
+ @endsection
340
+
341
+ ```
342
+
189
343
 
190
344
 
191
345
  ### 試したこと