gpt4 book ai didi

sql - 如何使用 Magento Collections 中的表达式执行 ORDER BY

转载 作者:行者123 更新时间:2023-12-04 20:56:01 26 4
gpt4 key购买 nike

我已经知道如何使用 Magento 集合进行简单的订购。但是这次我想做这样的事情,

SELECT * FROM table WHERE filed LIKE '%abc%' 
ORDER BY SUBSTRING(field, 1, 2) DESC LIMIT 10

那么如何将 SUBSTRING 函数添加到我的 order by 子句中呢?有任何想法吗?

最佳答案

Magento 模型有一个用于简单属性排序的 setOrder() 方法:

$oCollection = Mage::getModel('catalog/product')
->getCollection()
->setOrder('name_of_attribute_to_sort', 'ASC');

他们没有像您那样按表达式排序的专用方法,但 Magento 集合使用 Varien_Db_Select 实例扩展 Zend_Db_Select,因此您可以使用它的 order()limit() 方法:

$oCollection = Mage::getModel('catalog/product')->getCollection();
$oCollection
->getSelect()
->order(array('SUBSTRING(field, 1, 2) DESC'))
->limit(10);

关于sql - 如何使用 Magento Collections 中的表达式执行 ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20157632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com