1

从这个链接 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)

但是,我需要从表中删除 WHERE DATE 小于 2012-01-01 00:00:00 并且 CATEGORY 等于 JOURNAL

以下代码不起作用:

Model::table()->delete(array('date'=>'<2012-01-01 00:00:00','category'=>'journal'));

如果我离开:

Model::table()->delete(array('category'=>'journal'));

它只删除 WHERE 类别等于日记。所以我的问题是如何将 COMPARISON 运算符与日期一起应用到该查询中?

我在网上到处搜索,在任何地方都找不到答案。非常感谢您的意见!先感谢您!!!

4

2 回答 2

2

尝试这个:

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

YourModel::delete_all(array('conditions' => array('date >= ? AND category <= ?', $thedate,$cateogry)));
于 2013-05-12T04:46:13.870 回答
0

delete_all 在我的情况下不起作用。你可以在这里找到另一种方式

# MASSIVE DELETE
# Model::table()->delete(WhereToDelete);
Post::table()->delete(array('id' => array(5, 9, 26, 30));
于 2021-09-24T06:52:34.587 回答