3
我已經知道如何通過Magento集合執行簡單的訂單。但是,這一次我想要做這樣的事情,如何使用Magento集合中的表達式執行ORDER BY
SELECT * FROM table WHERE filed LIKE '%abc%'
ORDER BY SUBSTRING(field, 1, 2) DESC LIMIT 10
因此,如何能我一條一條地添加字符串函數到我的訂單?有任何想法嗎?
我已經知道如何通過Magento集合執行簡單的訂單。但是,這一次我想要做這樣的事情,如何使用Magento集合中的表達式執行ORDER BY
SELECT * FROM table WHERE filed LIKE '%abc%'
ORDER BY SUBSTRING(field, 1, 2) DESC LIMIT 10
因此,如何能我一條一條地添加字符串函數到我的訂單?有任何想法嗎?
Magento模型有簡單的屬性setOrder()
方法排序:
$oCollection = Mage::getModel('catalog/product')
->getCollection()
->setOrder('name_of_attribute_to_sort', 'ASC');
他們沒有專門的方法,通過像你這樣的表現排序,但Magento的收藏使用擴展Zend_Db_Select
一個Varien_Db_Select
實例,所以你可以使用其order()
和limit()
方法:
$oCollection = Mage::getModel('catalog/product')->getCollection();
$oCollection
->getSelect()
->order(array('SUBSTRING(field, 1, 2) DESC'))
->limit(10);