从mysql数据库中删除多个相同的id

时间:2017-02-24 13:22:31

标签: laravel-5

下面是我删除带有ids one的所有行的代码。似乎只删除了第一个索引 并且会立即触发错误。如何循环遍历数组并删除id为1的所有行。 我在这里创建的数组只是我的数据库中有多列的表示。 任何解决这个问题的想法都非常感谢。

public function deleteRow(){

 $ids = ['1','1','1','3','3','1','1'];


    foreach($ids as $id ){
      $id = Scholarshipcount::find($id);
      $id->delete();    
    }
}

我的错误

在非对象上调用成员函数delete()

2 个答案:

答案 0 :(得分:1)

Find()无法找到记录,尤其是您的PK有多次与您的示例相同(并且您已经第一次删除了该对象)。您可能需要考虑使用findOrFail

答案 1 :(得分:1)

您应该使用不同的方法。假设您的表名是scholarshipcounts,那么:

DB::table('scholarhipcounts')->whereIn('id', $ids)->delete();