我想添加一个“CONVERT”存储过程,如下所示:
SELECT id, value, CONVERT(value, DECIMAL) AS ordred_value FROM test ORDER BY ordred_value;
收集此查询:
$collection = $this->getAssociatedProductCollection($product)
->addAttributeToSelect('*')
->addFilterByRequiredOptions()
->setPositionOrder()
->addStoreFilter($this->getStoreFilter($product))
->addAttributeToFilter('status', array('in' => $this->getStatusFilters($product)))
->addAttributeToSort('my_attribute', 'DESC');
用于按照我的自定义属性“my_attribute”对文本字段中包含数值的相关产品进行排序。
感谢您的帮助。
答案 0 :(得分:0)
我不确定这是最好的解决方案,但你可以这样做:
<?php
$collection->getSelct()->columns(array('converted_value' => 'CONVERT(e.my_attribute, DECIMAL)'));
它会为结果添加一个新列。接下来使用上面的select和order
方法对集合进行排序。