Add getChildrenCount()
[MAILPOET-2503]
This commit is contained in:
committed by
Jack Kitterhing
parent
a92af3095b
commit
0069380da6
@ -62,7 +62,7 @@ class NewslettersResponseBuilder {
|
|||||||
$data['totalSent'] = $this->newslettersStatsRepository->getTotalSentCount($newsletter);
|
$data['totalSent'] = $this->newslettersStatsRepository->getTotalSentCount($newsletter);
|
||||||
}
|
}
|
||||||
if ($relation === self::RELATION_CHILDREN_COUNT) {
|
if ($relation === self::RELATION_CHILDREN_COUNT) {
|
||||||
$data['childrenCount'] = count($newsletter->getChildren());
|
$data['childrenCount'] = $this->newslettersStatsRepository->getChildrenCount($newsletter);
|
||||||
}
|
}
|
||||||
if ($relation === self::RELATION_SCHEDULED) {
|
if ($relation === self::RELATION_SCHEDULED) {
|
||||||
$data['totalScheduled'] = (int)SendingQueue::findTaskByNewsletterId($newsletter->getId())
|
$data['totalScheduled'] = (int)SendingQueue::findTaskByNewsletterId($newsletter->getId())
|
||||||
|
@ -111,6 +111,25 @@ class NewsletterStatisticsRepository extends Repository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param NewsletterEntity $newsletter
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getChildrenCount(NewsletterEntity $newsletter) {
|
||||||
|
try {
|
||||||
|
return (int)$this->entityManager
|
||||||
|
->createQueryBuilder()
|
||||||
|
->select('COUNT(n.id) as cnt')
|
||||||
|
->from(NewsletterEntity::class, 'n')
|
||||||
|
->where('n.parent = :newsletter')
|
||||||
|
->setParameter('newsletter', $newsletter)
|
||||||
|
->getQuery()
|
||||||
|
->getSingleScalarResult();
|
||||||
|
} catch (UnexpectedResultException $e) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private function getStatisticsCount(NewsletterEntity $newsletter, $statisticsEntityName) {
|
private function getStatisticsCount(NewsletterEntity $newsletter, $statisticsEntityName) {
|
||||||
try {
|
try {
|
||||||
$qb = $this->entityManager
|
$qb = $this->entityManager
|
||||||
|
Reference in New Issue
Block a user