2017-09-25 5 views
0

私はLaravel 5.5を使用していて、私のstorage/app/publicディレクトリに保存されているファイルを削除しようとしています。 データベースからファイルパスを取得して削除しようとしていますが、機能していません。Laravel 5.5のファイルを削除しています

$file = Blog::where('id', $id)->pluck('image'); 

Storage::delete($file); 

私は正常にファイルのパスを取得しています:

echo $file = Blog::where('id', $id)->pluck('image'); 

上記の行は、私になるので、この:

["public\/blog\/tLL0JoDmAKadTL0SqFZp1Is4oAK3YUo0GjOWB3fh.jpeg"] 

はので、私は何かがストレージファサードを使用して間違っていると思ったし、削除方法を試してみました:

Storage::delete(["public\/blog\/tLL0JoDmAKadTL0SqFZp1Is4oAK3YUo0GjOWB3fh.jpeg"]); 

しかし、それは... と私は本当になぜ私は変数を使用することはできません混乱している!

+0

あなたがWindowsまたはLinuxであります – john

答えて

0

Laravel pluckは配列ではなく雄弁なコレクションを返します。 答えはall()toArray()機能

$file = Blog::where('id', $id)->pluck('image')->all(); 

それとも

$file = Blog::where('id', $id)->pluck('image')->toArray(); 
0

を使用して配列にコレクションを変換してみてください。

$file = Blog::where('id', $id)->first()->image; 
Storage::delete($file); 
関連する問題