システムのすべての管理者を表示するページをコーディングしました。私がやりたいことは、現在認証されているユーザーをリストから除外するようにクエリをカスタマイズすることです。
これで、コントローラーからを取得してエンティティ リポジトリに渡すことができることがわかりuser_id
ましたが、エンティティ リポジトリを介して直接アクセスする方法があるかどうか疑問に思っていました。
例えば:
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\NoResultException;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\UserProviderInterface;
use Symfony\Component\Security\Core\Exception\UsernameNotFoundException;
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
class AdminUserRepository extends EntityRepository implements UserProviderInterface
{
public function getAdmins($int = 10, $offset = 0, array $orderBy = array('admin_id', 'asc')){
$admin_id = fetch the admin id ?;
$query = $this->createQueryBuilder('admins')
->where("admins.admin_id != '".$admin_id."'")
->orderBy('admins.'.$orderBy[0], $orderBy[1])
->setFirstResult($offset)
->setMaxResults($int)
->getQuery()
->getResult();
return $query;
}
}