Php Laravel中destroy()和delete()方法的区别是什么?

Php Laravel中destroy()和delete()方法的区别是什么?,php,laravel,laravel-4,eloquent,Php,Laravel,Laravel 4,Eloquent,我和拉威尔4有个小问题。我想对记录使用delete()方法,但由于某些原因,它实际上并没有删除记录销毁()确实如此,所以我的代码很好。另外,如果我将Teetime::where('date','=',$formattedDate)->count()传递给我的视图,我会得到一个正确的。有什么问题吗 if($action=="delete") { $teetime = Teetime::where('date', '=', $formattedDate)-&g

我和拉威尔4有个小问题。我想对记录使用
delete()
方法,但由于某些原因,它实际上并没有删除记录<代码>销毁()确实如此,所以我的代码很好。另外,如果我将
Teetime::where('date','=',$formattedDate)->count()传递给我的视图,我会得到一个正确的。有什么问题吗

        if($action=="delete") {
            $teetime = Teetime::where('date', '=', $formattedDate)->firstOrFail();
            // for some reason $teetime->delete() doesn't work
            Teetime::destroy($teetime->id);
        }
  • destroy
    是直接(通过对象或模型)删除实体的正确方法
例如:

$teetime = Teetime::where('date', '=', $formattedDate)->firstOrFail();
$teetime->destroy();
  • delete
    只能在查询生成器中调用
例如:

$teetime = Teetime::where('date', '=', $formattedDate)->delete();
从文件:

按键删除现有模型 当然,您也可以对一组模型运行删除查询:

$affectedRows = User::where('votes', '>', 100)->delete();

更多信息:

谢谢,但为什么文档中也提供了这个示例:
$user=user::find(1)$用户->删除()?我在我的代码的其他地方使用了
delete()
,效果很好。我已经更新了我的答案,请检查:)它详细解释了它。哦,我明白了。我认为是
firstOrFail()
让我离开了查询生成器。是的,因为它返回了一个对象(模型)
Laravel抛出错误,说方法[delete]不存在。
$affectedRows = User::where('votes', '>', 100)->delete();