Ho codificato una pagina che mostra tutti gli amministratori del sistema. Quello che voglio fare è personalizzare la mia query in modo che escluda l'utente attualmente autenticato dall'elenco.
Ora so che posso ottenere il user_id
dal controller e passarlo al repository dell'entità, ma mi chiedevo se c'è un modo per accedervi direttamente attraverso il repository di entità?Symfony2 ottiene l'id utente nel repository dell'entità
Ad esempio:
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;
}
}
Ho aggiornato la mia domanda. So che potrei farlo come dici tu, ma sto cercando se sia possibile farlo nel 'EntityRepository' stesso. – tftd
/aggiornato ... spero che aiuti. –
Stavo pensando la stessa cosa ma è logico (per me) essere in grado di accedere ai dati utente autenticati da un repository. Grazie per l'aiuto :) – tftd