【发布时间】:2013-10-04 10:37:41
【问题描述】:
您将如何(优雅地)使用 Zend Framework 2 中的闭包按字段排序 select 语句?
我有以下 PHP 代码:
$gateway = new \Zend\Db\TableGateway\TableGateway('table_name', $adapter);
$select = $gateway->select(function($select){
$select->where->in('id', array(4, 2, 3, 1));
// insert some awesome ordering magic here..!
});
我知道您可以轻松做到这一点:
...
$select->order(array('id ASC'));
...
但这只会通过升序id值对结果进行排序,我需要按特定的id序列对它们进行排序(即:让它们按4, 2, 3, 1的序列排序。
我可以在这里使用优雅的 Zend Framework 2 函数来通过id 自己订购吗?有效地创建 SQL:
select * from table_name
where 'id' in (4, 2, 3, 1)
order by field('id', (4, 2, 3, 1));
【问题讨论】:
标签: php zend-framework2 zend-db zend-db-select