展示多條資料時,通常需要對資料依照使用者指定的列進行排序。 Yii 使用 yii\data\Sort 物件來代表排序方案的相關資訊。特別地:
attributes:指定屬性,資料依照其排序。一個屬性可以就是簡單的一個 model attribute, 也可以是結合了多個 model 屬性或是 DB 欄位的複合屬性。以下將給出更多細節:
attributeOrders:給出每個屬性目前設定的排序方向。
orders:以低階列的方式給出排序方向。
使用 yii\data\Sort,首先要宣告什麼屬性能進行排序。接著從 attributeOrders 或 orders 取得目前設定的排序訊息, 然後使用它們來自訂資料查詢。例如:
use yii\data\Sort; $sort = new Sort([ 'attributes' => [ 'age', 'name' => [ 'asc' => ['first_name' => SORT_ASC, 'last_name' => SORT_ASC], 'desc' => ['first_name' => SORT_DESC, 'last_name' => SORT_DESC], 'default' => SORT_DESC, 'label' => 'Name', ], ], ]); $articles = Article::find() ->where(['status' => 1]) ->orderBy($sort->orders) ->all();
PHP中文網,有大量免費的Yii入門教學,歡迎大家學習!
以上是yii有哪些排序方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!