Bonjour,

J'aimerais créer un controller qui permet un utilisateur d'accéder uniquement à ses informations.
Voici le controller qui permet d'accéder à tous les utilisateurs de la base:

/**
 * @Route("/")
 */
class UserController extends AbstractController
{
    /**
     * @Route("/moncompte", name="moncompte", methods={"GET"})
     */
    public function index(UserRepository $userRepository): Response
    {
        return $this->render('user/index.html.twig', [
            'users' => $userRepository->findAll(),
        ]);
    }

Comment peut-on le modifier ?

3 réponses


Bonjour,

$this->getUser()

J'ai fait ceci un moment :

/**
     * @Route("/", name="moncompte", methods={"GET"})
     */
    public function index(UserRepository $userRepository): Response
    {
        $userSite= $userRepository->findBy(['user' => $this->getUser()]);

        return $this->render('user/index.html.twig', [
            'users' => $userSite,
        ]);
    }

Mais j'ai l'erreur qui dit de le champ 'user' n'existe pas

$this->getUser() renvoi l'utilisateur courant avec toutes ses infos:

dump($this->getUser())