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

質問編集履歴

4

追記

2023/08/25 08:11

投稿

student
student

スコア87

title CHANGED
File without changes
body CHANGED
@@ -202,3 +202,9 @@
202
202
 
203
203
  画像が格納されているファイルを見つけられなかったといった類のエラーのように見えましたが、合っていますでしょうか?
204
204
 
205
+ サーバーのエラーログを確認しました。
206
+ ```ここに言語を入力
207
+ [previous exception] [object] (Error(code: 0): Undefined constant \"image\" at /home/ec2-user/environment/mysite-test/storage/framework/views/f4b7cd1ceb841d5254e4ac3758f1773e.php:6)
208
+ [stacktrace]
209
+ ```
210
+

3

追記

2023/08/25 04:49

投稿

student
student

スコア87

title CHANGED
File without changes
body CHANGED
@@ -113,7 +113,80 @@
113
113
  Route::post('/post', [App\Http\Controllers\PostController::class, 'store'])->name('post.store');
114
114
 
115
115
  ```
116
+ ```PostController
117
+ <?php
116
118
 
119
+ namespace App\Http\Controllers;
120
+ use App\Models\Post;
121
+ use Illuminate\Http\Request;
122
+ use Illuminate\Support\Facades\Auth;
123
+ use Illuminate\Support\Facades\Validator;
124
+
125
+ class PostController extends Controller
126
+ {
127
+ public function index()
128
+ {
129
+ // データベース内のすべてのpostを取得し、post変数に代入
130
+ $posts = Post::all();
131
+ // 'posts'フォルダ内の'index'viewファイルを返す。
132
+ // その際にview内で使用する変数を代入します。
133
+ return view('posts/index', ['posts' => $posts]);
134
+ }
135
+
136
+ public function show($id)
137
+ {
138
+ $post = Post::find($id); // idでPostを探し出す
139
+ return view('posts.show', ['post' => $post]);
140
+ }
141
+
142
+ public function create ()
143
+ {
144
+ return view('posts/create');
145
+ }
146
+
147
+ public function new()
148
+ {
149
+ return view('post/new');
150
+
151
+ }
152
+
153
+ public function destroy($id)
154
+ {
155
+ $post = Post::find($id);
156
+ $post->delete();
157
+ return redirect('/posts');
158
+ }
159
+
160
+ public function store(Request $request)
161
+ {
162
+ //ユーザーIDを取得
163
+ $user_id = Auth::id();
164
+ // 新しい Item を作成
165
+ $post = new Post;
166
+ // フォームから送られてきたデータをそれぞれ代入
167
+ $post->user_id = $user_id;
168
+ $post->name = $request->name;
169
+
170
+ //画像投稿の記述
171
+ $post->image = $request->image->store('images');
172
+
173
+ $post->age = $request->age;
174
+ $post->gender = $request->gender;
175
+ $post->explanation = $request->explanation;
176
+ // データベースに保存
177
+ $post->save();
178
+ return redirect('/');
179
+ }
180
+
181
+ protected function validator(array $data)
182
+ {
183
+ return Validator::make($data, [
184
+ 'name' => ['required', 'string', 'max:255'],
185
+ 'image' => ['file', 'mimes:gif,png,jpg,webp', 'max:3072'],
186
+ ]);
187
+ }
188
+ }
189
+ ```
117
190
  ### 試したこと
118
191
  画像の表示のさせ方、コードの書き方を調べて、記述したのですが、うまく画像を特定できていないのでしょうか?
119
192
 

2

追記

2023/08/24 15:14

投稿

student
student

スコア87

title CHANGED
File without changes
body CHANGED
@@ -120,3 +120,12 @@
120
120
  ### 補足情報(FW/ツールのバージョンなど)
121
121
  php: 8.1.21
122
122
  laravel: 10.18.0
123
+
124
+ !追記!
125
+ コンソールから画像が表示されない原因を探ってみたところ、下記の表示がありました。
126
+ ```ここに言語を入力
127
+ 4CkuxLJ5p5wzf4VkTosZIIxLOSKmfcIiiIWJJ8Gt.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
128
+ ```
129
+
130
+ 画像が格納されているファイルを見つけられなかったといった類のエラーのように見えましたが、合っていますでしょうか?
131
+

1

修正

2023/08/24 09:40

投稿

student
student

スコア87

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  ### 実現したいこと
2
2
  画像投稿機能の実装を目指しているのですが、ストレージに保存された画像をトップページに表示されることが出来ません。
3
+ ストレージに保存された画像を表示させるコードの書き方が、以下で適切かを見て貰えないでしょうか?
3
4
 
4
5
  ### 前提
5
6
  ストレージに画像を保存することは出来ています。