2015-03-25 4 views
0

Im travaillant sur Fuel Framework et j'ai besoin de construire une requête avec order_by title qui est varchar mais la plupart d'entre eux sont numériques. Je dois trier dans un ordre numérique.MySQL order_by CAST dans Fuel Framework

Donc je veux utiliser "CAST(title as SIGNED INTEGER) ASC".

Le problème est dans le carburant ORM. Je ne peux pas voir dans docs des informations sur CAST dans order_by.

Savez-vous ce que j'essaie de dire? : D Pouvez-vous m'aider?

+0

Essayez d'utiliser 'DB :: expr()' au lieu de chaîne simple. http://fuelphp.com/dev-docs/classes/database/db.html#/method_expr Je ne sais pas si cela fonctionnera, car pour autant que je sache, cela ne respecte pas les alias de table. –

+0

Fonctionne! Thx, Barta. Pour ceux qui lisent ceci ma requête ressemble à ceci: '$ dat ['photos'] = Model_Photo :: find ('all', array ('where' => tableau ('gallery_id' => $ id), 'expr' => 'CAST (titre sous SIGNED INTEGER) ASC')); ' –

+0

alors c'est une réponse :) –

Répondre