2015-12-28 16 views
1

我如何可以手動排序?Yii2:排序依據與CASE(順序手動)

我的表:

table 
id | name 
1 | inactive 
2 | active 
3 | archived 

而結果必須是這個順序:有效,無效,已歸檔 我怎樣才能使Yii2?

Table::find() 
->OrderBy(***); 

回答

3

在MySQL中,你可以使用field()功能:

order by field(name, 'inactive', 'active', 'archived') 

你或許可以在Yii2使用相同的功能實現這一點。

+3

解決: - > ORDERBY([新\ YII \分貝\表達式( '字段(姓名, 「活動」, 「不活動」, 「存檔」)')]); – Giest