App\Entity\User object not found by the @ParamConverter annotation.
1 month ago par Arnaud63

  • 1

    Hello,

    Je voulais crée la page profil utilisateur, mais bizarrement j'ai une erreur que je ne comprend pas. Voici l'erreur: App\Entity\User object not found by the @ParamConverter annotation.

    <?php
    
    namespace App\Controller;
    
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
    use Symfony\Component\Routing\Annotation\Route;
    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\HttpFoundation\Response;
    use Doctrine\Common\Persistence\ObjectManager;
    use Doctrine\DBAL\Statement;
    use App\Entity\User;
    
    class ProfilController extends AbstractController
    {
        /**
         * @Route("/profil/{username}", name="app_profil")
         */
        public function profil(User $user, Request $request, ObjectManager $manager)
        {
            $this->denyAccessUnLessGranted('IS_AUTHENTICATED_FULLY');
    
            $user = $this->getDoctrine()
                ->getRepository(User::class)
                ->find($user->getId());
    
            $connectedUser = $this->getUser();
    
            return $this->render('profil/index.html.twig', [
                'controller_name' => 'ProfilController',
            ]);
        }
    }

    Quand j'enlève "User $user" j'ai cette erreur : Notice: Undefined variable: user

    Si vous avez des réponses car j'en perd la tête.


    Réponses (2)


    Arnaud63
    Karma : 206
    2019-04-12 10:56:47
  • 1

    Résolu !

    J'avais oublié dans la vue de bien rediriger

    <a class="nav-link" href="{{ path('app_profil', {'username': app.user.username}) }}">Profil</a>

    Et surtout oublié de faire passer ma variable après

    return $this->render('profil/profil.html.twig', compact('user', 'connectedUser'));


    Gael
    Karma : 593
    2019-04-12 10:57:48
  • 1
    //hey ho !