2016-12-01 4 views
4

ich diesen Fehler habe:Laravel löschen() statischen Aufruf

Non-static method Illuminate\Database\Eloquent\Model::delete() should not be called statically, assuming $this from incompatible context

Hier ist der Code in meinem Controller:

$file_db = new File(); 
$file_db = $file_db->where('id',$id)->find($id); 
$file_db = $file_db->delete(); 

Kann jemand erklären, was ich falsch mache und wie man es nennen richtig ?

+0

können Sie mehr Code zur Verfügung stellen? das scheint mir gut – Sherif

+0

Datei ist ein Modell richtig? – Sherif

+0

Code aus Modell // $ record = self :: where ('id', $ id) -> first(); $ record-> löschen(); – Bugfixer

Antwort

3

Sie haben dies:

$file_db = $file_db->where('id',$id)->find($id); 

Aber Sie sollten dies tun:

$file = File::where('id', $id)->first(); // File::find($id) 

if($file) { 

    return $file->delete(); 
} 
+0

es wirft Fehler aus " Nicht statische Methode Illuminate \ Database \ Eloquent \ Model :: delete() sollte nicht statisch aufgerufen werden, angenommen $ dies aus inkompatiblem Kontext" aber der Kicker ist es löscht die Zeile aus der Datenbank – OunknownO

+0

In diesem Beispiel habe ich nicht löschen Methode statisch aufgerufen, so überprüfen Sie andere Orte. –

2

Wenn Sie das Modell mit spezifischen id löschen möchten, verwenden Sie die Methode destroy().

File::destroy($id) 
Verwandte Themen