DataGrid и свое поле

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
poohbinar
Сообщения: 28
Зарегистрирован: 2012.12.26, 16:58

DataGrid и свое поле

Сообщение poohbinar » 2014.02.04, 09:48

Товарищи, прошу помощи!
Использую DataGrid.

Код: Выделить всё

echo GridView::widget([
            'dataProvider' => $this->dataProvider,
            'filterModel' => $this->searchModel,
            'rowOptions' => function ($model) use ($roomId) {
                    return [
                        'data-url' => Yii::$app->urlManager->createUrl("rooms/id/{$model->id}"),
                        'class' => ($model->id == $roomId) ? 'success' : '',
                    ];
                },
            'columns' => [
                'id',
                [
                    'label' => t('Users'),
                    'value' => function ($model) use ($roomSpectators) {
                            return isset($roomSpectators[$model->id]) ? count($roomSpectators[$model->id]) : 0;
                        },
                    'contentOptions' => ['class' => 'td-ctnr-users'],
                ],
               
            ],
        ]);
Так вот колонка таблицы с label "Users" показывает поле которого нет в модели и соответственно в таблицы базы даннх.
Я не могу разобраться как сделать сортировку по этому полю по типу стандартной DataGrid.
Там обычный INT. Вот есть http://shot.qip.ru/008pAk-6IA4wMlaF/ чтоб было понятней. Надо в header таблицы сделать ссылку и сортировку. Подскажите пожалуйста. В интеренете инфы не нашел. Пробовал различные атрибуты DataGrid менять, использовать yii\data\Sort, но все тщетно)

Ответить