質問編集履歴

2

疑問点の追加

2018/04/21 10:39

投稿

kazoogon
kazoogon

スコア281

test CHANGED
File without changes
test CHANGED
@@ -103,3 +103,53 @@
103
103
  またこれだとパスに日付を入れる意味が「ただ見たらいつupされたかがわかる」になり回答者様の意図と違ってしまいますが。。
104
104
 
105
105
  そのあたりも含めまだ設計で曖昧な部分があります、申し訳ございませんが、よろしくお願いいたします。
106
+
107
+
108
+
109
+ **質問を受けての追記②**
110
+
111
+ ---
112
+
113
+
114
+
115
+ ```
116
+
117
+ return Image::create([
118
+
119
+ 'name' => "$fileName",
120
+
121
+ ]);
122
+
123
+ ```
124
+
125
+ このコードによりimagesテーブルにfile名(unip()でとった値)がinsert
126
+
127
+ →image_userのimage_id&user_idにもinsertが必要かと思いますがただ省略されているだけですよね???
128
+
129
+
130
+
131
+ ②```$path = 'public/images/' .date('Y/m/d/', strtotime($user->images[0]->created_at)) . "$image->name";```
132
+
133
+ $image->nameでloginしているユーザのidを取ってこれるのか???
134
+
135
+  →controller側で
136
+
137
+  ```
138
+
139
+   $user = Auth::user()->id;
140
+
141
+   $image = DB::table('images')
142
+
143
+ ->where('id', '<>', $user)
144
+
145
+ ->groupBy('status')
146
+
147
+ ->get();
148
+
149
+ ```
150
+
151
+ いやしかしこれだとimagesのidはただauto_incrementで入ってる数値なので意味がない・・
152
+
153
+
154
+
155
+ すみません、たぶん何かおおいなる勘違いをしているような気がしますが、、よろしくお願いいたします。

1

質問を受けての回答

2018/04/21 10:39

投稿

kazoogon
kazoogon

スコア281

test CHANGED
File without changes
test CHANGED
@@ -31,3 +31,75 @@
31
31
  しかしその場合には指定したuserごとの画像を取ってくる方法が分からず困っております。
32
32
 
33
33
  よろしくお願いいたします。
34
+
35
+
36
+
37
+ **質問を受けての追記**
38
+
39
+ ---
40
+
41
+ 例えば「メインのプロフィール画像」「そのほかプロフィール画像」「userがそれぞれ投稿するブログの画像」
42
+
43
+ の3つを扱いたい場合はImageテーブルに下記カラムを作成
44
+
45
+ ```
46
+
47
+ id(autoincrement)
48
+
49
+ user_id(Userモデルとリレーション)
50
+
51
+ blog_id(Blogモデルとリレーション)
52
+
53
+ profile_main_name
54
+
55
+ profile_sub_name
56
+
57
+ blog_name
58
+
59
+ ```
60
+
61
+
62
+
63
+ 保存するパスはそれぞれ
64
+
65
+ ```
66
+
67
+ //一日ごとにディレクトりがどんどん作られるということですよね??
68
+
69
+ profile/images/teachers/profile/main/YYYY/MM/DD
70
+
71
+ profile/images/teachers/profile/sub/YYYY/MM/DD
72
+
73
+ profile/images/teachers/blog/YYYY/MM/DD
74
+
75
+ ```
76
+
77
+
78
+
79
+ (また違うユーザが同じ日に同じ名前のファイルをuploadする可能性があるので、ファイル名の最初にAuth::user()->id; でとってきた値を挿入する必要有?)
80
+
81
+
82
+
83
+
84
+
85
+ そして表示するときは
86
+
87
+ ・メインprofile画像 
88
+
89
+ → ```{!! Html::image("images/teachers/profile/main/.{{$user->image->profile_main_name}}.","profile" !!}```
90
+
91
+ ・サブprofile画像 
92
+
93
+ → 上記をforeachでまわす(profile_main_name→profile_sub_nameに変更)
94
+
95
+ ・ブログ画像 
96
+
97
+ → ```{!! Html::image("images/teachers/blog/.{{$blog->image->blog_name}}.","pic" !!}```
98
+
99
+
100
+
101
+ という感じになるのでしょうか?
102
+
103
+ またこれだとパスに日付を入れる意味が「ただ見たらいつupされたかがわかる」になり回答者様の意図と違ってしまいますが。。
104
+
105
+ そのあたりも含めまだ設計で曖昧な部分があります、申し訳ございませんが、よろしくお願いいたします。