Я использую следующий запрос, чтобы получить общие числа для отображения небольшого графика панели инструментов над Gridview.
Я хотел бы знать, как этот запрос будет работать как при выборе менеджера (registration_id
), так и при выборе ВСЕ (без параметра registration_id
).
ИНДЕКС ПРОСМОТР ФАЙЛА
$total_received_quota = Quota::find()
->where(['quota_status'=> 1])
->AndWhere(['quota_registration_id' => $manager])
->sum('quota_valor');
КОНТРОЛЛЕР
public function actionIndex()
{
$searchModel = new QuotaSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$manager = Yii::$app->getRequest()->getQueryParam('QuotaSearch')['quota_registration_id'];
$manager = isset($manager) ? $manager : null;
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
'manager' => $manager,
]);
}
Попробуйте так:
$query= Quota::find()->where(['quota_status'=> 1]);
if (isset($manager) && $manager!=null)
{
$query->andWhere(['quota_registration_id' => $manager]);
}
$total_received_quota= $query->sum('quota_valor');
используйте andFilterWhere ()