从这个链接 http://www.phpactiverecord.org/projects/main/wiki/Basic_CRUD 我得到以下信息:
6 # MASSIVE DELETE
7 # Model::table()->delete(WhereToDelete);
8 Post::table()->delete(array('id' => array(5, 9, 26, 30));
9 # DELETE FROM `posts` WHERE id IN (5, 9, 26, 30)
但是,我需要从日期小于 2012-01-01 00:00:00 的表中删除 AND 其中 CATEGORY 等于 JOURNAL
以下代码不起作用:
Model::table()->delete(array('date'=>'<2012-01-01 00:00:00','category'=>'journal'));
如果我离开:
Model::table()->delete(array('category'=>'journal'));
它只删除等于 journal 的 WHERE 类别。 所以我的问题是如何在带有日期的查询中实现比较运算符?
我在网上到处搜索,找不到任何地方的答案。 非常感谢您的意见! 提前致谢!!!
最佳答案
试试这个:
http://www.phpactiverecord.org/docs/ActiveRecord/Model#methoddelete_all
YourModel::delete_all(array('conditions' => array('date >= ? AND category <= ?', $thedate,$cateogry)));
关于php - 如何使用比较运算符在 PHP Activerecord 中进行大量删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16451891/