下面是我删除id为1的所有行的代码,似乎只删除了第一个索引,并会触发一个错误,can I循环遍历数组并删除id为one.It的所有行。我在这里创建的数组只是我的数据库中包含多列的表示。任何解决这个问题的想法都是非常感谢的。
public function deleteRow(){
$ids = ['1','1','1','3','3','1','1'];
foreach($ids as $id ){
$id = Scholarshipcount::find($id);
$id->delete();
}
}我的错误
对非对象的成员函数delete()的调用
发布于 2017-02-24 22:53:32
Find()可能找不到该记录,特别是当您的PK与示例中的PK相同多次时(并且您已经在第一次删除了该对象)。您可能会考虑改用findOrFail。
发布于 2017-02-24 23:00:50
你应该使用一种不同的方法来代替。假设您的表名是scholarshipcounts,那么:
DB::table('scholarhipcounts')->whereIn('id', $ids)->delete(); https://stackoverflow.com/questions/42439725
复制相似问题