Я создаю три запроса на построение запросов, я пытаюсь объединить их в одну доктрину запросов, но я не знаю, как достичь цели создания одного запроса - исключить клиентский сервер двусторонней обработки.пожалуйста, как я могу получить один запрос?
это мой запрос 1
/**
* @param Analyse $analyse
* @return mixed
* @throws \Doctrine\ORM\NonUniqueResultException
*/
public function countTotalErrorByIdAnalyse(Analyse $analyse)
{
return $this->createQueryBuilder('a')
->select('count(a)')
->innerJoin('a.analyse', 'analyse')
->where('analyse.id = :analyse')
->setParameter('analyse', $analyse->getId())
->getQuery()
->getSingleScalarResult();
}
это мой Resquest 2
/**
* @param Analyse $analyse
* @param string $severity
* @return mixed
* @throws \Doctrine\ORM\NonUniqueResultException
*/
public function countTypeError(Analyse $analyse, string $severity){
return $this->createQueryBuilder('a')
->select('count(a)')
->innerJoin('a.analyse', 'analyse')
->innerJoin('a.rule', 'rule')
->where('rule.severity = :error')
->setParameter('error', $severity)
->getQuery()
->getSingleScalarResult();
}
это мой запрос 3
/**
* @param Analyse $analyse
* @return mixed
* @throws \Doctrine\ORM\NonUniqueResultException
*/
public function listTypeError(Analyse $analyse){
return $this->createQueryBuilder('a')
->select('rule.message')
->innerJoin('a.analyse', 'analyse')
->innerJoin('a.rule', 'rule')
->where('rule.severity = :error')
->setParameter('error', 'ERROR')
->getQuery()
->getResult();
}