Сортировка GridView Yii2

Глядя на эту статью
http://www.yiiframework.com/doc/api/1.1/CSort

Это показывает, что вы можете сортировать столбцы, которые являются «virtial»

В моем GridView у меня есть

'columns' => [
[
'label' => 'Name',
'attribute' => 'displaynamehtml',
'format' => 'raw'
],

‘displaynameashtml’ — это атрибут, который объединяет first_name и last_name и создает кликабельный URL.

Чтобы отсортировать это у меня есть:

$dataProvider->setSort([
'attributes' => [
'displaynamehtml' => [
'asc' => 'first_name, last_name',
'desc' => 'first_name DESC, last_name DESC',
'label' => 'Name'
],

Однако это не работает и дает мне ошибку
‘Недопустимый аргумент для foreach ()’

Есть идеи, что не так?

0

Решение

Попробуйте что-то вроде

$dataProvider->setSort([
'attributes' => [
'displaynamehtml' => [
'asc' => [
'first_name' => SORT_ASC,
'last_name' => SORT_ASC,

],
'desc' => [
'first_name' => SORT_DESC,
'last_name' => SORT_DESC,

],
'label' => 'Name'
],
0

Другие решения

Я предлагаю немного другое:

  $dataProvider->sort->attributes['displaynamehtml'] = [
'asc' => [
'first_name' => SORT_ASC,
'last_name' => SORT_ASC,
],
'desc' => [
'first_name' => SORT_DESC,
'last_name' => SORT_DESC,
],
];

Поместите это в поиск модели

0

По вопросам рекламы [email protected]