1
votes

I am using Zend Framework with a MySQL database.

Can zend select produce something like this ?

SELECT * FROM `abc` ORDER BY CAST( `something` AS SIGNED ), `other` ASC

at the moment i give raw sql query since don't know how to make zend use $select->order(..) and obtain that query...

I'm thinking maybe not all db support this so zend doesn't has it or why ?

3

3 Answers

2
votes

U can use Zend_Db_Expr class instance and pass it to order method

0
votes

There is no such keyword in zend. We cannot make casting at the time of fetching the data but we can make casting after the fetching the data.

0
votes

A ZF2 2019 answer:

$select->order(new Expression("CAST($orderColumn AS CHAR) $orderDirection"));

Since new Zend_Db_Expr do not work anymore ("renamed")