можно суммировать столбец в GridView, используя следующий код:Yii2: сумма столбца на отфильтрованных значений в Gridview
<?php
$command = Yii::$app->db->createCommand("SELECT sum(net_total) FROM estimate");
$sum = $command->queryScalar();
echo 'Total ='. $sum;
?>
У меня есть столбец в БД как discharge_date
(который является дата & поле времени) и Я хочу изменить сумму на фильтр в этом столбце. То есть, если отфильтрованные данные показывают пять записей, тогда я хочу получить сумму только для этих пяти записей. Спасибо.
обновления как в ответ
Код выглядит так:
$query = app\models\Estimate::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$ids = [];
foreach($dataProvider as $i => $model) {
$ids[] = $model->id;}
$command = Yii::$app->db->createCommand("SELECT sum(net_total) FROM estimate WHERE `id` IN ('.implode(',',$ids).')"); // please use a prepared statement instead, just a proof of concept
$sum = $command->queryScalar();
echo $sum;
Теперь я получаю ошибку на линии $ids[] = $model->id;}
в Getting unknown property: yii\db\ActiveQuery::id
Привет Nikolas Что такое '$ copyofADP = /*....*/', что я должен заменить его. Благодарю. – Pawan
Оригинальный ActiveDataProvider, который вы создали для получения (фильтрованных) данных. –
Привет Николас - Я обновил вопрос в соответствии с предложением ur, но я получаю ошибку, как упоминалось в вопросе. – Pawan