Files
piratepoet/lib/Logging/LogRepository.php
Pavel Dohnal c3372dfee8 Load logs
[MAILPOET-3135]
2021-03-16 14:29:18 +01:00

39 lines
997 B
PHP

<?php
namespace MailPoet\Logging;
use MailPoet\Doctrine\Repository;
use MailPoet\Entities\LogEntity;
/**
* @extends Repository<LogEntity>
*/
class LogRepository extends Repository {
protected function getEntityClassName() {
return LogEntity::class;
}
/**
* @param \DateTimeInterface|null $dateFrom
* @param \DateTimeInterface|null $dateTo
* @return LogEntity[]
*/
public function getLogs(\DateTimeInterface $dateFrom = null, \DateTimeInterface $dateTo = null): array {
$query = $this->doctrineRepository->createQueryBuilder('l')
->select('l');
if ($dateFrom instanceof \DateTimeInterface) {
$query
->where('l.createdAt > :dateFrom')
->setParameter('dateFrom', $dateFrom->format('Y-m-d H:i:s'));
}
if ($dateTo instanceof \DateTimeInterface) {
$query
->andWhere('l.createdAt < :dateTo')
->setParameter('dateTo', $dateTo->format('Y-m-d H:i:s'));
}
return $query->getQuery()->getResult();
}
}