Mysql 按多个字段排序顺序Magento自定义集合
以下是我的表格结构:Mysql 按多个字段排序顺序Magento自定义集合,mysql,magento,sql-order-by,magento-1.9,Mysql,Magento,Sql Order By,Magento 1.9,以下是我的表格结构: +----+---------------------+ | 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 | +----+---------------------+ +------
+----+---------------------+
| 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提供记录。我想使用这两个字段进行排序。
尽管如此,当我尝试仅使用date进行排序时,它运行良好。您可以使用
addAttributeToSort()
如果有人提供RAQMySQL查询,这将非常有用。我正在使用以下内容,但它也不起作用:
SELECT id,event\u date FROM blog\u promo ORDER BY event\u date ASC,id DESC LIMIT 2代码>我没有使用eav。As addAttributeToSort用于eav,而不是平面模型。
$collection = Mage::getModel("blogpromo/blogpromo")->getCollection()
->addFieldToFilter('status', 0)
->addAttributeToSort('id', 'DESC')
->addAttributeToSort('event_date', 'ASC')
->setPageSize(2);