从这个链接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)
但是,我需要从一个DATE小于2012-01-01 00:00:00的表中删除AND where CATEGORY = JOURNAL
下面的代码不起作用:
Model::table()->delete(array('date'=>'<2012-01-01 00:00:00','category'=>'journal'));
如果我离开:
Model::table()->delete(array('category'=>'journal'));
只删除WHERE类别等于日志。所以我的问题是我如何实现比较运算符到该查询与日期?
我在网上到处都找遍了,哪儿都找不到答案。非常感谢您的建议!提前谢谢你!!
试试这个:
http://www.phpactiverecord.org/docs/ActiveRecord/Model methoddelete_all
YourModel::delete_all(array('conditions' => array('date >= ? AND category <= ?', $thedate,$cateogry)));
delete_all在我的情况下不起作用。你可以在这里找到另一条路
# MASSIVE DELETE
# Model::table()->delete(WhereToDelete);
Post::table()->delete(array('id' => array(5, 9, 26, 30));