for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Azine\EmailBundle\Entity\Repositories;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\QueryBuilder;
/**
* SentEmailRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class SentEmailRepository extends EntityRepository
{
public function search($searchParams = [])
$queryBuilder = $this->createQueryBuilder('e');
if (empty($searchParams)) {
return $queryBuilder;
}
$searchAttributes = [
'recipients',
'template',
'sent',
'variables',
'token'
];
foreach ($searchAttributes as $attribute) {
if (empty($searchParams[$attribute])) {
continue;
$attributeValue = $searchParams[$attribute];
$queryBuilder->andWhere('e.'.$attribute.' LIKE :'.$attribute)
->setParameter(':'.$attribute, '%'.$attributeValue.'%');
public function getTotalCount(QueryBuilder $queryBuilder)
$queryBuilder = clone $queryBuilder;
return $queryBuilder->select(
'COUNT(e)'
)->getQuery()->getSingleScalarResult();