for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace AppBundle\Repository;
use Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface;
use Symfony\Component\HttpFoundation\ParameterBag;
/**
* UserRepository.
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class UserRepository extends \Doctrine\ORM\EntityRepository implements UserLoaderInterface
{
public function loadUserByUsername($username)
return $this->createQueryBuilder('user')
->andWhere('user.apiToken = :username')
->setParameter('username', $username)
->getQuery()
->getOneOrNullResult();
}
* @param ParameterBag $params
* @return array
public function getUsersByParams(ParameterBag $params):array
$em = $this->getEntityManager();
$postsQuery = $em->createQueryBuilder()
->select('u')
->from('AppBundle:User', 'u')
->orderBy('u.createdAt', preg_match('/asc/i', $params->get('order')) ? 'ASC' : 'DESC');
if ($params->has('name') && $params->get('name')) {
$postsQuery->where(
$postsQuery->expr()->like('u.firstName', ':name')
)
->orWhere(
$postsQuery->expr()->like('u.lastName', ':name')
->setParameter('name', '%' . $params->get('name') . '%');
return $postsQuery->getQuery()->getResult();