这是我的表结构:
+----+---------------------+
| id | event_date |
+----+---------------------+
| 12 | 2017-07-03 01:12:00 |
| 42 | 2017-07-04 18:13:00 |
| 52 | 2017-07-22 23:52:00 |
| 62 | 2017-10-20 23:55:00 |
+----+---------------------+
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| status | tinyint(2) | NO | | 0 | |
| content | text | NO | | NULL | |
| event_date | datetime | NO | | NULL | |
+------------+--------------+------+-----+---------+----------------+
我希望得到最新的两条日期顺序为升序的记录。
以下是我正在使用的代码:
$collection = Mage::getModel("blogpromo/blogpromo")->getCollection()
->addFieldToFilter('status', 0)
->setOrder('id', 'DESC')
->setOrder('event_date', 'ASC')
->setPageSize(2);
它使用ID提供记录。我想通过使用两个字段进行排序。 虽然,当我尝试仅使用日期排序时,它工作正常。
答案 0 :(得分:0)
您可以使用addAttributeToSort()
$collection = Mage::getModel("blogpromo/blogpromo")->getCollection()
->addFieldToFilter('status', 0)
->addAttributeToSort('id', 'DESC')
->addAttributeToSort('event_date', 'ASC')
->setPageSize(2);