Laravel delete() 静态调用

Oun*_*wnO 5 php laravel laravel-5

我收到这个错误:

非静态方法 Illuminate\Database\Eloquent\Model::delete() 不应静态调用,假设 $this 来自不兼容的上下文

这是我的控制器中的代码:

$file_db = new File();
$file_db = $file_db->where('id',$id)->find($id);
$file_db = $file_db->delete();
Run Code Online (Sandbox Code Playgroud)

有人可以解释我做错了什么以及如何正确调用它吗?

Min*_*dir 7

如果要删除特定的模型id,请使用该destroy()方法。

File::destroy($id)
Run Code Online (Sandbox Code Playgroud)


The*_*pha 5

你有这个:

$file_db = $file_db->where('id',$id)->find($id);
Run Code Online (Sandbox Code Playgroud)

但你应该这样做:

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

if($file) {

    return $file->delete();
}
Run Code Online (Sandbox Code Playgroud)