質問: $request->image_url->storeAs('public/post_images', $time.'_'.Auth::user()->id.'.jpg'); Auth::user()->posts()->save($post->fill($request->all())); return redirect('/')->with('flash_message',__('Registered.')); } } ``` 上記のコードで、意図通り画像はstorageの中のapp/public/post_imagesの中に保管されます。(シンボリックリンクは設定済み) 例:20190720164627_2.jpg ですが、DB側にはこの画像が下記のような名称で登録されます。 /private/var/folders/pv/zjg0833j4mn5hrrv6mz7z5sm0000gn/T/phpy1QVbp ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/197d0c75c2a6c2e523e00d3d5f775695.png) この場合、DB側の画像名も任意でコントロールしたいです。 ※ここでDB側のimage_urlに設定されたパスの名前と、実際の画像の名称が一緒ではないと、 別ページでDBからimage_urlを取得して表示画面側で画像のデータが取得できないという認識です。 お手数ですが、何とぞよろしくお願いいたします。
回答: postにfillする時に上書きしてしまっているのでは? image_urlをfillableから外すか $request->all()ではなく$request->except(['image_url'])を使ってimage_urlを除外してみるとかでどうですかね