I want to count for each of the values in the select. I need to know how many values there are in each a.merk, b.brandstof, a.bouwjaar, k.kleur, t.transmissie
. So I need 5 different values. How can I do this?
public function searchFilter() {
$query = (new Query())
->select([
'GROUP_CONCAT(DISTINCT(a.merk), ".", m.merk ORDER BY a.merk ASC) merk',
'GROUP_CONCAT(DISTINCT(b.brandstof) ORDER BY b.brandstof ASC) brandstof',
'GROUP_CONCAT(DISTINCT(a.bouwjaar) ORDER BY a.bouwjaar DESC) bouwjaar',
'GROUP_CONCAT(DISTINCT(k.kleur) ORDER BY k.kleur ASC) kleur',
'GROUP_CONCAT(DISTINCT(t.transmissie) ORDER BY t.transmissie ASC) transmissie',
])
->from('auto_new a')
->join('INNER JOIN', 'tbl_merken m', 'a.merk = m.merk_id') //Merk
->join('INNER JOIN', 'tbl_kleur k', 'a.kleur = k.kleur_id') //Kleur
->join('INNER JOIN', 'tbl_transmissie t', 'a.transmissie = t.transmissie_id') //Transmissie
->join('INNER JOIN', 'tbl_brandstof b', 'a.brandstof = b.brandstof_id'); //Brandstof
return $query;
}
this is the output I get.
In this function I execute the query.
public function actionSearchfilter($ac) {
Yii::$app->response->format = Response::FORMAT_JSON;
$query = Car::searchFilter()->where(['a.ac' => $ac, 'a.flag' => '1'])->all();
return $query;
}
I only need to count the DISTINCT values.