У меня есть этот запрос
/**
* @param $i
* @return mixed
* Returns all users except current logged in manager
*/
public function getUsersWithoutCurrent($i) {
$qb = $this->createQueryBuilder('u');
$qb->select('u.name')
->addSelect('u.email')
->addSelect('u.LastSeen')
->addSelect('u.slug')
->addSelect('u.roles')
->where($qb->expr()->notIn('u.id', ':usr'))
->setParameter('usr', $i);
return $qb
->getQuery()
->getResult();
}
Но в то же время я хочу подсчитать для каждого пользователя связанные с ним сообщения в блоге
/**
* @ORM\OneToMany(targetEntity="App\Entity\Blog", mappedBy="author", orphanRemoval=true)
*/
private $blogs;
Если я присоединяюсь к блогам, а затем попробуйтечтобы выбрать count () я получаю
SQLSTATE[42000]: Syntax error or access violation: 1140 In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'db.u0_.name'; this is incompatible with sql_mode=only_full_group_by
Это форматированный запрос
SELECT u0_.name AS name_0, u0_.email AS email_1, u0_.last_seen AS last_seen_2, u0_.slug AS slug_3, u0_.roles AS roles_4, COUNT(DISTINCT (b1_.id)) AS sclr_5 FROM user u0_ INNER JOIN blog b1_ ON u0_.id = b1_.author_id WHERE u0_.id NOT IN (?)' with params [37]