Spaces:
No application file
No application file
File size: 1,067 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<?php
namespace Mautic\ReportBundle\Entity;
use Mautic\CoreBundle\Entity\CommonRepository;
use Mautic\ReportBundle\Scheduler\Option\ExportOption;
/**
* @extends CommonRepository<Scheduler>
*/
class SchedulerRepository extends CommonRepository
{
/**
* @return Scheduler|null
*/
public function getSchedulerByReport(Report $report)
{
return $this->findOneBy(['report' => $report]);
}
/**
* @return array|Scheduler[]
*/
public function getScheduledReportsForExport(ExportOption $exportOption)
{
$qb = $this->createQueryBuilder('scheduler');
$qb->addSelect('report')
->leftJoin('scheduler.report', 'report');
$date = new \DateTime();
$qb->andWhere('scheduler.scheduleDate <= :scheduleDate')
->setParameter('scheduleDate', $date);
if ($exportOption->getReportId()) {
$qb->andWhere('report.id = :id')
->setParameter('id', $exportOption->getReportId());
}
return $qb->getQuery()->getResult();
}
}
|