Zend DB Select : ORDER BY FIELD('id',some_array) - how?
11,123
Solution 1
What about this:
$db = Zend_Db_Table::getDefaultAdapter();
$select = $db->select();
$select->from('table_name')
->order(new Zend_Db_Expr("FIELD(field_name, 'Small','Medium','Large')"));
var_dump($select->assemble());
Results in:
string 'SELECT `table_name`.* FROM `table_name` ORDER BY FIELD(field_name, 'Small','Medium','Large')' (length=92)
Solution 2
$select->order(new Zend_Db_Expr('FIELD(field_name, 'Small','Medium','Large')'));
Solution 3
I think you should do:
$db = Zend_Db::factory( ...options... );
$select = $db->select()
->from(table_name)
->order(new Zend_Db_Expr("FIELD(field_name, 'Small','Medium','Large')")));
Comments
-
srgb almost 2 years
How would you write the following query in Zend framework?
SELECT * FROM table_name ORDER BY FIELD(field_name, 'Small','Medium','Large');
I just need the "Order by" part :)
Thanks!