2016-02-18 62 views
0

我想修改一個插件,除其他外,按字母順序從mysql數據庫中排序數組。 ,做排序的相關PHP文件的部分看起來像這樣:使用Zend_Db_Select命令排序特定項目頂部()

$select->order("$alias.name ASC"); 

我想繼續按升序對項目進行排序,但我想保持一個特定的項目在頂部(出其字母的訂購)。

從信息here它看起來像在MySQL中做到這一點的方法是簡單,只需:

ORDER BY name = 'Library' desc, 
     name asc; 

但即使是研究信息here,我不能完全轉換到這個順序()功能。我曾嘗試過:

$select->order("$alias.name ='Library' DESC","$alias.name ASC") 

但是它似乎並不是那麼工作。

回答

0

好了,找到了答案 -

我需要使用Zend_Db_Expr()。如果對其他人有幫助,可以這樣解決:

$select->order(array(
    new Zend_Db_Expr("$alias.name = 'Library' DESC"), 
    new Zend_Db_Expr("$alias.name ASC") 
));