下面是我删除带有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()
答案 0 :(得分:1)
Find()
无法找到记录,尤其是您的PK有多次与您的示例相同(并且您已经第一次删除了该对象)。您可能需要考虑使用findOrFail
。
答案 1 :(得分:1)
您应该使用不同的方法。假设您的表名是scholarshipcounts
,那么:
DB::table('scholarhipcounts')->whereIn('id', $ids)->delete();