У меня есть 2 таблицы: «Пользователь» и «Состояния». Что я претендую сделать, чтобы подсчитать, сколько пользователей из определенного состояния, то есть:Как подсчитать элементы после объединения влево с доктриной
состояние всего пользователи Santa Fe 5 Буэнос-Айрес 20
и так далее.
Я использую CodeIgniter с доктриной, вот мой код:
public function countByState(){
$this->qb = $this->em->createQueryBuilder();
$this->qb->select('s.state_id', $this->qb->expr()->count('u.state'))
->from('models\States', 's')
->leftJoin('s.state_id' , 'u')
->leftJoin('models\User', 'u')
->groupBy('s.state_id');
$query = $this->qb->getQuery();
$obj = $query->getResult();
return $obj;
}
и это ошибка: Фатальная ошибка: Uncaught исключение 'Доктрина \ ORM \ Query \ QueryException' с сообщением «[семантические ошибки ] line 0, col 76 около 'u LEFT JOIN models \ User': Ошибка: Модели классов \ States не имеют ассоциации с именем state_id 'в C: \ Desarrollo \ new_frame_doctrine \ site \ application \ libraries \ data \ Doctrine \ ORM \ Query \ QueryException.php в строке 47
@AmitKumar thanx amit, я знаю, как это сделать в sql, но не в dql, так что это был вопрос – Limon