Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在ArrayDataProvider中进行Yii2和排序_Php_Yii_Yii2 - Fatal编程技术网

Php 在ArrayDataProvider中进行Yii2和排序

Php 在ArrayDataProvider中进行Yii2和排序,php,yii,yii2,Php,Yii,Yii2,我正在使用ArrayDataProvider,我想知道如何使视图中的排序链接像 $sort->link('date') 在yii/data/Sort中,遵循和记录 您可以做的是这样排序: $sort = new Sort([ 'attributes' => [ 'age', 'name' => [ 'asc' => ['first_name' => SORT_ASC, 'last_name' => SO

我正在使用ArrayDataProvider,我想知道如何使视图中的排序链接像
$sort->link('date')
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',
        ],
        // 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');