Ma requête génère de la collection de magento estMagento Collection charge à l'aide Trier par
$userModel = Mage::getSingleton('user/user')->getCollection()->addFieldToFilter('user_id', array('in' => array($User_Id)));
SELECT `main_table`.user_name FROM `user_table` AS `main_table` WHERE (user_id IN('1', '3', '2'));
Je veux utiliser cette requête:
SELECT `main_table`.user_name FROM `user_table` AS `main_table` WHERE (user_id IN('1', '3', '2')) ORDER BY FIELD(user_id , 1,3,2);
Alors qu'il affiche le nom d'utilisateur dans le même ordre comme ID sont entrés. c'est-à-dire "1,3,2"
Quelle méthode est utilisée dans Magento pour charger la collection en utilisant ORDER BY
?
Merci d'avance!
De plus, si « Trier par » n'est pas possible dans la collecte Magento, est-il conseillé d'écrire notre propre coutume requête s'il existe plusieurs collections à charger et à modifier selon l'exigence personnalisée? – Slimshadddyyy
Copie possible de: http://stackoverflow.com/questions/3158424/how-to-add-order-by-when-loading-a-magento-model – seanbreeden
@seanbreeden function setOrder ($ attribute, $ dir = 'desc ') utilise le paramètre ASC ou DESC alors que ce dont je parle concerne ma fonction sql qui est ORDER BY FIELD (http://jonahellison.com/mysql-order-by-field-group_concat). Donc, est-il possible d'utiliser la fonction ci-dessus mysql à l'ordre par les données selon le besoin personnalisé d'utiliser Magento Collection? – Slimshadddyyy