Que sucede con el CActiveDataProvider que al hacer una consulta relacional que pasa por al menos 3 tablas, este no genera el resultado que quiero…
Yo se que la consulta esta bien porque en el debuger veo que antes cuando se utiliza CActiveDataProvider la primer consulta es un count() y la segunda es la de registros… pero por alguna razon la consulta del count() se hace bien y la de registros la hace incompleta…
Miren este codigo y diganme si me hace falta algo o estoy ante la presencia de un bug-sototote
Consulta que genera el Count() – esta se hace bien
SELECT COUNT(DISTINCT `t`.`user_id`)
FROM `tb_users` `t`
LEFT OUTER JOIN `tb_clients` `Clients` ON (`Clients`.`user_id`=`t`.`user_id`)
LEFT OUTER JOIN `tb_companies_has_tb_users` `Companies_Companies` ON (`t`.`user_id`=`Companies_Companies`.`user_id`)
LEFT OUTER JOIN `tb_companies` `Companies` ON (`Companies`.`company_id`=`Companies_Companies`.`company_id`)
LEFT OUTER JOIN `tb_projects` `Projects` ON (`Projects`.`company_id`=`Companies`.`company_id`)
WHERE (Projects.project_id = :project_id AND Clients.client_id IS NULL)
Consulta de seleccion de registros – vean como solamente enlace a una tabla y las demas que
SELECT
`t`.`user_id` AS `t0_c0`,
`t`.`user_name` AS `t0_c1`,
`t`.`user_lastname` AS `t0_c2`,
`t`.`user_email` AS `t0_c3`,
`Clients`.`client_id` AS `t1_c0`,
`Clients`.`user_id` AS `t1_c1`
FROM `tb_users` `t`
LEFT OUTER JOIN `tb_clients` `Clients` ON (`Clients`.`user_id`=`t`.`user_id`)
WHERE (Projects.project_id = :project_id AND Clients.client_id IS NULL)
ORDER BY t.user_name LIMIT 10
Saben porque sucede esto o estoy haciendo algo mal ??