@XenK

Yii2 gridview как получить кол-во строк?

Есть таблица GridView (kartik), в одном из столбцов выводятся данные:
[
                'attribute' => 'var',
                'value'     => 'var.full_name',
                // 'width'=>'10%',
                'label'     => Yii::t('admin', 'Название'),
                'content'   => function ($data) {
                    $good_var = \app\modules\catalog\models\GoodsVar::find()->select(['full_name'])->where(['id' => $data->var_id])->asArray()->One();
                    if (!empty($good_var['full_name'])) {
                        return $good_var['full_name'];
                    } else {
                        return '<p style="color: #ff3b36;">Отсутствует</p>';
                    }
                },
                'format'    => 'raw',

            ],


Нужно получить кол-во строк которые не пустые, как это можно сделать?
  • Вопрос задан
  • 533 просмотра
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
1. gridview имеет пагинацию. Вам надо количество не пустых строк для текущей страницы или для всей базы?
2. зачем 'value'=> 'var.full_name', если потом переопределять контент?
3. Не стоит делать запросы из view, для этого есть контролер, но видимо это связанные данные, а значит стоит возложить это на модель.

Нужно получить кол-во строк которые не пустые

В зависимости как это будет использоваться. Если просто вывести где-то цифру пустых строк на текущей странице, то возможно проще 2 строчки jquery написать?
Но можно и на php. Или вынести логику в модель или сделать свой ActiveDataProvider и туда засунуть метод.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы