FitTech
@FitTech

Как подсчитать COUNT с условием в DataProvider?

Здравствуйте! Подскажите, пожалуйста:
Есть MyModelSearch

В методе public function search($params)

Пишу $query = MyTable::find()->....,
и получаю dataProvider.

В view в GridView передал этот dataProvider и вывожу все колонки из таблицы MyTable.
К примеру, выводятся 40 записей колонки temperature.

Как отдельно от GridView на странице вывести значение Count(temperature > 10)?
  • Вопрос задан
  • 438 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Count(temperature > 10)?

А что это? Вы долго рассказывали про стандартный код из gii и потом, клац совершенно с потолка взявшиеся понятия "temperature", "10", "Count".
Я расшифровал это так количество(40 записей колонки temperature > 10), но 40 записей колонки temperature > 10 это видимо или true или false, а что Вы ожидаете от подсчета количества булиного, я не понимаю.
В dataProveder есть метод getModels он дает массив моделей, а хелпер типа ArrayHelper::column может вытянуть столбец. Вероятно надо посчитать сумму значений в колонке temperature,а не количество ибо количество равно лимиту не зависимо от колонки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
usdglander
@usdglander
Yipee-ki-yay

Пишу $query = MyTable::find()->....,
и получаю dataProvider.

А вот и нет! Вы получаете Query.
Вывести количество можно через
$query->count();
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы