0

我正在运行安装了 PHP-Activerecord 的 CodeIgniter 应用程序,我需要进行大量删除。PHP-AR 库支持海量更新和删除,但该函数只获取您要删除/更新的 id。我正在尝试进行大规模删除,其中 id 不在列表中。

从 id 不在 (1,2,3...,500) 中的表中删除

不幸的是,PHP-Activerecord 网站没有任何帮助,而且他们的论坛构建得非常糟糕(没有搜索......认真吗?)我真的被卡住了。

编辑:请注意,CodeIgniter 的内置 ORM 与 PHP-Activerecord 不同。 只是想我会澄清这一点。

4

2 回答 2

4

有点晚了,但这可能对其他人有帮助。在PHPActiveRecord中,这样做:

$ids_to_delete = array(1,2,3);
YourModel::delete_all(array('conditions' => array('id NOT IN (?)', $ids_to_delete)));

参考:http ://www.phpactiverecord.org/docs/ActiveRecord/Model#methoddelete_all

于 2014-01-06T16:57:47.137 回答
2

既然活动记录实际上是使用函数构建字符串查询,您可以使用此方法: - 将列表设为字符串 - 进行此查询:$this->db->where('id not in',$string)->delete( '桌子')

于 2012-09-14T03:02:26.753 回答