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。
idここで使用して、自体で注文できるエレガントな Zend Framework 2 関数はありますか? SQL を効果的に作成する:
select * from table_name 
    where 'id' in (4, 2, 3, 1)
    order by field('id', (4, 2, 3, 1));