Использовать хранимую процедуру sql "CONVERT" в коллекции Magento - PullRequest
0 голосов
/ 13 октября 2011

Я хочу добавить хранимую процедуру "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", который имеет числовые значения в текстовых полях.

Спасибо за помощь.

1 Ответ

0 голосов
/ 13 октября 2011

Я не уверен, что это лучшее решение, но вы можете сделать это так:

<?php

$collection->getSelct()->columns(array('converted_value' => 'CONVERT(e.my_attribute, DECIMAL)'));

Это добавит новый столбец к результату.Затем отсортируйте коллекцию, используя команду select, как указано выше, и метод order.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...