improve cross database engine compatibility (#756)
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user