2017-09-25 10 views
0

Ich benutze Laravel 5.5 und versuche eine Datei zu löschen, die in meinem Verzeichnis storage/app/public gespeichert ist. Ich versuche, den Dateipfad aus der Datenbank abzurufen und zu löschen, aber es funktioniert nicht.Datei in Laravel löschen 5.5

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

Storage::delete($file); 

Ich Abrufen der Pfad der Datei erfolgreich:

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

, weil die obige Zeile mir diese bekommt:

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

so dachte ich, etwas mit der Verwendung der Speicher Fassade falsch ist und die Löschmethode, und ich habe es versucht:

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

aber es hat funktioniert ... und ich bin wirklich verwirrt, warum ich die Variable nicht verwenden kann!

+0

sind Sie in Windows oder Linux – john

Antwort

0

Laravel Zupfen gibt eine eloquente Sammlung und kein Array zurück. Versuchen Sie, die Sammlung zu einem Array Umwandlung der all() oder toArray() Funktionen

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

Oder

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

Die Antwort lautet:

$file = Blog::where('id', $id)->first()->image; 
Storage::delete($file);