yii中有哪些排序方法

yii中有哪些排序方法

展示多條數(shù)據(jù)時(shí),通常需要對數(shù)據(jù)按照用戶指定的列進(jìn)行排序。 YII 使用?yiidatasort?對象來代表排序方案的有關(guān)信息。 特別地:

Attributes:指定屬性,數(shù)據(jù)按照其排序。 一個(gè)屬性可以就是簡單的一個(gè) model attribute, 也可以是結(jié)合了多個(gè) model 屬性或者 DB 列的復(fù)合屬性。下面將給出更多細(xì)節(jié):

attributeOrders:給出每個(gè)屬性當(dāng)前設(shè)置的排序方向。

orders:按照低級列的方式給出排序方向。

使用?yiidataSort,首先要聲明什么屬性能進(jìn)行排序。 接著從?attributeOrders?或者?orders?取得當(dāng)前設(shè)置的排序信息, 然后使用它們來自定義數(shù)據(jù)查詢。例如:

use?yiidataSort;  $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中文網(wǎng),有大量免費(fèi)的Yii入門教程,歡迎大家學(xué)習(xí)!

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享