在Laravel数据库中删除行

3
如果数据库中已经有信息,我想要删除一个用户的所有信息。
$ss= date_time::where('user_id',$id)->get();
        if ($ss){
            $ss->delete();
  }

你有收到任何错误吗?你是否有一个名为 date_time 的模型? - Qirel
好的,问题出在哪里? - Kusy
1个回答

4

$ss将是一个集合,因此您需要删除每个单独的项目或执行没有get的单个删除:

 $ss= date_time::where('user_id',$id)->get();
 $ss->each(function ($model) { 
     $model->delete();
 });
 // or
 date_time::where('user_id',$id)->delete();

第一种方法较慢,但会触发模型事件,如“删除”和“已删除”,而第二种方法更快,但不会触发任何事件。

2
哇,你比我早回答了3秒钟,但我想先到先得,所以我删除了我的答案。 - Martin Dimitrov
@MartinDimitrov 你的回答是有效的,没有理由说一个问题只能有一个答案,而且两个答案几乎同时给出,因此不存在剽窃的争议。 - apokryfos
是的,但是你的回答包含更多信息,而且总体上更好,所以我会保持它被删除。 - Martin Dimitrov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接