Yii2-GridView 如何给非模型中的字段增加排序功能
时间: 2024-03-01 12:52:21 浏览: 61
在 Yii2-GridView 中,如果要为非模型中的字段增加排序功能,可以通过以下步骤实现:
1. 在 GridView 的 `dataProvider` 中添加一个排序规则:
```php
$dataProvider->sort->attributes['extra_field'] = [
'asc' => ['extra_field' => SORT_ASC],
'desc' => ['extra_field' => SORT_DESC],
];
```
其中,`extra_field` 是你要排序的非模型中的字段名称。
2. 在 GridView 的 `columns` 中为非模型中的字段添加一个排序链接:
```php
[
'label' => 'Extra Field',
'headerOptions' => ['class' => 'sorting'],
'contentOptions' => ['class' => 'sorting'],
'sortLinkOptions' => ['class' => 'sorting'],
'value' => function($model) {
// 计算非模型中的字段值
$extraFieldValue = ...
return $extraFieldValue;
}
],
```
在 `value` 中,你可以计算非模型中的字段的值,并返回结果。这样,你的非模型中的字段就可以和数据模型的字段一样拥有排序功能了。
阅读全文