improve cross database engine compatibility (#756)

This commit is contained in:
Kevin Papst
2019-05-05 03:09:02 +02:00
committed by GitHub
parent aa113cc300
commit 6e224c63ef
6 changed files with 97 additions and 71 deletions

View File

@@ -13,9 +13,6 @@ use App\Entity\User;
use App\Repository\Query\UserQuery;
use Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface;
/**
* Class UserRepository
*/
class UserRepository extends AbstractRepository implements UserLoaderInterface
{
/**
@@ -41,10 +38,15 @@ class UserRepository extends AbstractRepository implements UserLoaderInterface
}
/**
* @param null|bool $enabled
* @return int
*/
public function countUser()
public function countUser($enabled = null)
{
if (null !== $enabled) {
return $this->count(['enabled' => (bool) $enabled]);
}
return $this->count([]);
}
@@ -61,9 +63,11 @@ class UserRepository extends AbstractRepository implements UserLoaderInterface
->orderBy('u.' . $query->getOrderBy(), $query->getOrder());
if (UserQuery::SHOW_VISIBLE == $query->getVisibility()) {
$qb->andWhere('u.enabled = 1');
$qb->andWhere($qb->expr()->eq('u.enabled', ':enabled'));
$qb->setParameter('enabled', true, \PDO::PARAM_BOOL);
} elseif (UserQuery::SHOW_HIDDEN == $query->getVisibility()) {
$qb->andWhere('u.enabled = 0');
$qb->andWhere($qb->expr()->eq('u.enabled', ':enabled'));
$qb->setParameter('enabled', false, \PDO::PARAM_BOOL);
}
if ($query->getRole() !== null) {