//排序 $sort = new Sort([ 'attributes' => [ 'age' => [ 'asc' => ['age' => SORT_ASC], 'desc' => ['age' => SORT_DESC], 'default' => SORT_ASC, 'label' => '年齡' /*'label' => Inflector::camel2words('age'),*/ ], 'name'=>[ 'asc' => ['name' => SORT_ASC], 'desc' => ['name' => SORT_DESC], 'default' => SORT_ASC, 'label' => '姓名' ], ], //默認按id排序,現在改成按name排序 /*'defaultOrder' => ['name' => SORT_ASC],*/ ]);
//創建name和age排序鏈接 $data['name'] = $sort->link('name'); $data['age'] = $sort->link('age');
$data['person'] = Person::find() -> andWhere(['deleted' => '-1']);; //分頁 $data['pagination'] = new Pagination([ 'defaultPageSize' => 4,
//count()是Query類中的方法 'totalCount' => $data['person']->count(), ]); //***$data['person']必須是一個Query對象,才可以調用orderBy(),offset(),limit()等方法 $data['person'] = $data['person']->orderBy($sort->orders) ->offset($data['pagination']->offset) ->limit($data['pagination']->limit) ->all(); return $this->render("show", $data);