Zend DB Выберите: ORDER BY FIELD ('id', some_array) - как?
Как вы напишете следующий запрос в рамках Zend?
SELECT * FROM table_name ORDER BY FIELD(field_name, 'Small','Medium','Large');
Мне просто нужна часть "Сортировать по":)
Спасибо!
Ответы
Ответ 1
Как насчет этого:
$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());
Результаты в:
string 'SELECT `table_name`.* FROM `table_name` ORDER BY FIELD(field_name, 'Small','Medium','Large')' (length=92)
Ответ 2
$select->order(new Zend_Db_Expr('FIELD(field_name, 'Small','Medium','Large')'));
Ответ 3
Думаю, вам следует:
$db = Zend_Db::factory( ...options... );
$select = $db->select()
->from(table_name)
->order(new Zend_Db_Expr("FIELD(field_name, 'Small','Medium','Large')")));