Фактически, после возвращения результата данных из базы данных с использованием Doctrine,
Я пытаюсь добавить номер счетчика строк, не вызывая другой запрос.
Это моя функция:
public function search(QueryBuilder $qb, string $search)
{
$qb = $qb->addSelect('COUNT(n) as count');
$search = $this->escape($search);
$qb->andWhere(
$qb->expr()->like('n.title', $qb->expr()->literal('%'.$search.'%'))
);
$qb->setMaxResults(2);
}
Это мой DQL:
SELECT n, COUNT(n) as count FROM CoreBundle\Entity\News n LEFT JOIN n.category c WHERE n.title LIKE '%re%'
И мне нужно в результате вернуть все мои данные с помощью ключа подсчета, который ссылается на количество строк.
Проблема в том, что я получаю только первую строку с id = 1
, и кажется, что число считается правильным.
Итак, результат должен выглядеть примерно так:
['count' => 2 , [Newsn1,Newsn2]
Не говорите мне использовать array_count, потому что мне нужно получить количество строк в базе данных, и у меня есть функция setMaxResults
, поэтому я не получу реальное количество строк.