【发布时间】:2016-05-07 06:15:19
【问题描述】:
我正在使用 ArrayDataProvider,我想知道如何在视图中创建排序链接,就像
$sort->link('date')
在yii/data/Sort
【问题讨论】:
我正在使用 ArrayDataProvider,我想知道如何在视图中创建排序链接,就像
$sort->link('date')
在yii/data/Sort
【问题讨论】:
关注this (yii\data\sort) 和this (yii\data\ArrayDataProvider) 文档
你可以做这样的排序:
$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',
],
// or any other attribute
],
]);
之后,您可以将其放入您的数组数据提供程序中
$query = new Query;
$provider = new ArrayDataProvider([
'allModels' => $query->from('post')->all(),
'sort' => $sort, // HERE is your $sort
'pagination' => [
'pageSize' => 10,
],
]);
// get the posts in the current page
$posts = $provider->getModels();
最后在你看来:
// any attribute you defined in your sort defination
echo $sort->link('name') . ' | ' . $sort->link('age');
【讨论】: