質問編集履歴

3

タイトル修正

2021/07/25 08:15

投稿

Sento__aa
Sento__aa

スコア21

test CHANGED
@@ -1 +1 @@
1
- シンボリックリンクを設定したい
1
+ 画像表示させるためのシンボリックリンクを設定したい
test CHANGED
File without changes

2

文章修正

2021/07/25 08:15

投稿

Sento__aa
Sento__aa

スコア21

test CHANGED
File without changes
test CHANGED
@@ -24,9 +24,7 @@
24
24
 
25
25
  →上記のようにstorage直下にリンクしたディレクトリ、フォルダが紐づく(?)
26
26
 
27
- ※参考記事 [
28
-
29
- ](https://qiita.com/10mi8o/items/ce9c875e736c7b1d2498)
27
+ ※[参考記事](http://qiita.com/10mi8o/items/ce9c875e736c7b1d2498)
30
28
 
31
29
 
32
30
 

1

質問内容の変更

2021/07/25 04:28

投稿

Sento__aa
Sento__aa

スコア21

test CHANGED
@@ -1 +1 @@
1
- シンボリックリンクを実行画像を表示させたい(Laravel)
1
+ シンボリックリンクを設定したい
test CHANGED
@@ -1,28 +1,8 @@
1
- ##やりたいこと →フォルダに保存された画像を表示したい
1
+ ##やりたいこと
2
2
 
3
- フォームから画像を登録し、指定フォルダに保存されていることを確認できますがViewで表示できずにいます。画像を保存しているディレクトリと公開ディレクトリを紐付けるための、シンボリックリンクを実行(php artisan storage:link)ましたがパス合っていないためか表示されません。シンボリックリンクすべき場所や方法などについて解決できずにいるので何ご教示をお願いできればと思います。
3
+ 画像を保存しているディレクトリと公開ディレクトリを紐付けるための、シンボリックリンクを実行し、エディタ上でマークが表示されましたが上手くているのか確認したものです。
4
4
 
5
-
6
-
7
- ????__現状ビュー画像__
8
-
9
- ![イメージ説明](66e10aa80abd808e0e801616137c756e.png)
5
+ 参考記事などを確認すると、作成された「storage」をクリックすると、リンクされたディレクトリが表示されるのですが、現状「'storage'開くことが出来ません」と出るため上手くいっていないと思っているので、紐づけるためのアドバイスをいただければと思います。
10
-
11
-
12
-
13
- ????__画像ファイル構成__
14
-
15
- ![イメージ説明](f669d0653fe5d605baa62eef0ddf2b68.png)
16
-
17
-
18
-
19
- ????__DB(PHP My Adimin)__
20
-
21
- ![イメージ説明](20545763999350fe6024ab80509251b3.png)
22
-
23
-
24
-
25
- 各ファイルや構成は以下の通りです。
26
6
 
27
7
  ✳️Laravel バージョン 6.20.8
28
8
 
@@ -30,304 +10,44 @@
30
10
 
31
11
 
32
12
 
33
- ■__ためしたこと__
34
13
 
35
- ①dockerコンテナ内でシンボリックコマンド
36
14
 
37
- ```ここに言語を入力
15
+ ■__ファイル構成__
38
16
 
39
- root@07bb3385a7ef:/var/www/html/laravel-app# php artisan storage:link
17
+ ![イメージ説明](2402fc56125ba17646cc7c24036a6d2a.png)
40
18
 
41
- The [public/storage] directory has been linked.
42
19
 
43
- ```
44
20
 
21
+ ■__成功イメージ__
22
+
23
+ ![イメージ説明](186d6a9164c35dc2409afa6534e9a19a.png)
24
+
25
+ →上記のようにstorage直下にリンクしたディレクトリ、フォルダが紐づく(?)
26
+
27
+ ※参考記事 [
28
+
45
- →ディレクトリがリンクされたとありますが、VSC上でもシンボリックリンクの表記(矢印)が出ておらず、どこがリンクされているのかが分からない。
29
+ ](https://qiita.com/10mi8o/items/ce9c875e736c7b1d2498)
46
30
 
47
31
 
48
32
 
49
33
 
50
34
 
35
+ ##ためしたこと
51
36
 
37
+ ①dockerコンテナ内でシンボリックリンク生成
52
38
 
39
+ ```ここに言語を入力
53
40
 
54
-
55
- ## ■index.php(ビュー)
56
-
57
- ```@extends('layouts.app')
58
-
59
-
60
-
61
- @section('content')
62
-
63
- <table class="table table-hover">
64
-
65
- <thead class="thead-dark">
66
-
67
- <tr>
68
-
69
- <th scope="col">社員番号</th>
70
-
71
- <th></th>
72
-
73
- <th scope="col">名前</th>
74
-
75
- <th scope="col">所属事業所</th>
76
-
77
- <th scope="col" colspan="4" class="d-none d-sm-table-cell">貸与品</th>
41
+ root@07bb3385a7ef:/var/www/html/laravel-app# ln -s /storage/app/public /public
78
-
79
- <th></th>
80
-
81
- </tr>
82
-
83
- </thead>
84
-
85
-
86
-
87
- <tbody>
88
-
89
- @foreach($employees as $employee)
90
-
91
- <tr>
92
-
93
- <td class="align-middle" scope="row">{{ $employee->employee_id }}</td>
94
-
95
- <td><img src="{{ asset('storage/employee_image/' . $employee->employee_image) }}" alt="画像" class="rounded-circle" width="50" height="50"></td>
96
-
97
- <td class="align-middle" scope="row">{{ $employee->employee_name }}</td>
98
-
99
- <td class="align-middle" scope="row">{{ $employee->office }}</td>
100
-
101
- <td class="d-none d-sm-table-cell">
102
-
103
- @foreach($employee->goods as $goods)
104
-
105
- <p class="vertical-middle">制服:{{ $goods->uniform }}|防寒着:{{ $goods->winter_clothes }}|靴:{{ $goods->shoes }}|その他:{{ $goods->other }}</p>
106
-
107
- @endforeach
108
-
109
- </td>
110
-
111
- <td class="align-middle" scope="row"><a href="{{ route('employee_create.show',$employee->id) }}" class="btn btn-primary">詳細</a></td>
112
-
113
- </tr>
114
-
115
- @endforeach
116
-
117
- </tbody>
118
-
119
- </table>
120
-
121
- @endsection
122
42
 
123
43
  ```
124
44
 
45
+ ②ファイルの属性を確認
125
46
 
47
+ ```ここに言語を入力
126
48
 
127
- ##■EmployeesController.php(コントローラー)
49
+ root@07bb3385a7ef:/var/www/html/laravel-app# ls -l public
128
50
 
129
- ```<?php
130
-
131
-
132
-
133
- namespace App\Http\Controllers;
134
-
135
-
136
-
137
- use Illuminate\Http\Request;
138
-
139
- use App\Employee;
140
-
141
- use App\Goods;
142
-
143
-
144
-
145
- class EmployeesController extends Controller
146
-
147
-
148
-
149
- {
150
-
151
- public function index()
152
-
153
- {
154
-
155
- $employees = Employee::with('goods')->get();
156
-
157
- return view('index', ['employees' => $employees,
158
-
159
- ]);
160
-
161
- }
162
-
163
-
164
-
165
- public function create()
166
-
167
- {
168
-
169
- $user =\Auth::user();
170
-
171
- return view('employee_create');
172
-
173
- }
174
-
175
-
176
-
177
- public function store(Request $request)
178
-
179
- {
180
-
181
- $request->validate([
182
-
183
- 'employee_image' => 'required',
184
-
185
- 'employee_id' => 'required',
186
-
187
- 'employee_name' => 'required',
188
-
189
- 'office' => 'required',
190
-
191
- 'uniform' => 'required',
192
-
193
- 'winter_clothes' => 'required',
194
-
195
- 'shoes' => 'required',
196
-
197
- ]);
198
-
199
-
200
-
201
- $employee = new Employee;
202
-
203
- $employee->employee_id = $request->input('employee_id');
204
-
205
- $employee->employee_name = $request->input('employee_name');
206
-
207
- $employee->office = $request->input('office');
208
-
209
- $employee->employee_image = $request->file('employee_image')->store('public/employee_image');
210
-
211
-
212
-
213
- $employee->save();
214
-
215
-
216
-
217
- $goods = new Goods;
218
-
219
- $goods->uniform = $request->input('uniform');
220
-
221
- $goods->winter_clothes = $request->input('winter_clothes');
222
-
223
- $goods->shoes = $request->input('shoes');
224
-
225
- $goods->other = $request->input('other');
226
-
227
- $goods->memo = $request->input('memo');
228
-
229
- $goods->employee_id = $employee->id;
230
-
231
- $goods->save();
232
-
233
-
234
-
235
- return redirect(route('employee_create.index'))->with('flash_message','社員を登録しました');
51
+ lrwxrwxrwx 1 root root 44 Jul 24 06:49 storage -> /var/www/html/laravel-app/storage/app/public
236
-
237
- }
238
-
239
- }
240
-
241
- }
242
52
 
243
53
  ```
244
-
245
-
246
-
247
- ## ■Employee.php(モデル)
248
-
249
- ```namespace App;
250
-
251
- use IlluminateSupportFacadesDB;
252
-
253
- use Illuminate\Database\Eloquent\Model;
254
-
255
-
256
-
257
- class Employee extends Model
258
-
259
- {
260
-
261
-
262
-
263
- protected $fillable = ['id','emlpoyee_id','employee_name','office','employee_image'];
264
-
265
-
266
-
267
- protected $guarded = array('id');
268
-
269
-
270
-
271
- public function goods()
272
-
273
- {
274
-
275
- return $this->hasMany(Goods::class);
276
-
277
- }
278
-
279
- }
280
-
281
- ```
282
-
283
- ## ■create_employees_table.php(マイグレーション)
284
-
285
- ```<?php
286
-
287
-
288
-
289
- use Illuminate\Database\Migrations\Migration;
290
-
291
- use Illuminate\Database\Schema\Blueprint;
292
-
293
- use Illuminate\Support\Facades\Schema;
294
-
295
-
296
-
297
- class CreateEmployeesTable extends Migration
298
-
299
- {
300
-
301
- public function up()
302
-
303
- {
304
-
305
- Schema::create('employees', function (Blueprint $table) {
306
-
307
- $table->bigIncrements('id');
308
-
309
- $table->unsignedBigInteger('employee_id');
310
-
311
- $table->string('employee_name');
312
-
313
- $table->string('office');
314
-
315
- $table->string('employee_image')->nullable();
316
-
317
- $table->timestamps();
318
-
319
- });
320
-
321
- }
322
-
323
- public function down()
324
-
325
- {
326
-
327
- Schema::dropIfExists('employees');
328
-
329
- }
330
-
331
- }
332
-
333
- ```