OunknownO OunknownO - 6 months ago 67
PHP Question

Laravel delete() static call

I got this error:

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

Here is the code in my controller:

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

Can someone explain what I am doing wrong and how to call it correctly?


You have this:

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

But you should be doing this:

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

if($file) {

    return $file->delete();