public function getActiveCountByType($typeId) {
$value = $this->count('isActive=1 and causalTypeId=:typeId', array(':typeId'=>$typeId));
return $value;
}
non ho ben capito, ma immagino intendi di aggiungere al dataprovider le istruzioni per fare il sort su quel campo, come dice zaccaria, giusto ?
@zaccaria, il fatto è che non devo fare la conta degli isActive del model casualtype, ma delle causal con active=1 che appartengono a quella causalType.
Ora provo, ho già modificato a mano tanti altri ordinamenti sin ora, anche su campi in relazione 1-N su due livelli, per cui noioso sarà, ma se è da fare è da fare…
SELECT count(*)
WHERE isActive=1
GROUP BY model_id
Ma siccome tanto quelle active hanno 1 e quelle non active hanno 0, possiamo risparmiarci la where e fare:
SELECT sum(isActive)
WHERE isActive=1
GROUP BY model_id
Quel sum potresti anche selezionarlo ed ottenerlo come proprieta’ del model principale, un questa maniera non devi fare una query aggiuntiva per ogni record, tanto se fai il sort ti tocchera’ fare anche il filtering, per cui tanto vale farlo stiloso sin da subito.