Laravel delete()静态调用

时间:2016-12-01 11:19:56

标签: php laravel laravel-5 laravel-5.2

我收到了这个错误:

  

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

以下是我的控制器中的代码:

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

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

2 个答案:

答案 0 :(得分:3)

你有这个:

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

但你应该这样做:

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

if($file) {

    return $file->delete();
}

答案 1 :(得分:2)

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

File::destroy($id)