Laravel 5

Variable User non définit

  • Avatar de Gwendolau
    Membre depuis :
    01/08/2017
    Messages :
    9

    Bonjour!

    Je suis débutant avec Laravel, j'utilise actuellement la version 5.4. Voici mon problème, j'utilise le système d'authentification fournis avec Laravel, j'ai modifier le fichier de migration pour la création de la table, je n'ai que rajouter des colonnes, rien de bien majeur comme modification.

    Je besoin de récupérer les informations, j'avais suivis au préalable un tutoriel avant d'entreprendre la conception de mon projet, hélasse, le tutoriel ne montrait pas se que j'avais de besoin. J'ai besoin de récupérer les informations contenus dans ma table user, j'ai bien essayé différente manière dont celle que j'avais vue dans le tutoriel ainsi que d'autre méthode que j'ai trouver, mais je tombe toujours sur le même genre d'erreur : $user non définis.

    Voici se qui se trouve dans mon controller Home :

    public function getUser($id)
    {
    $user = App\User::findOfFail($id);
    return view('home', compact('user'));
    }

    Voici se que j'ai mis dans le fichier route web.php :

    Route::resource('user', 'HomeController@getUser');

    Je dois récupérer dans mes vues home.blade et menu.blade, actuellement dans mon home.blade :

    <p id="firstname">Prénom : {{ $user->firstname }}</p>
    <p id="lastname">Nom : {{ $user->lastname }}</p>

    Où est mon erreur? Est-ce que j'ai oublié de définir quelques choses? Ai-je besoin de créer un autre genre de fonction? Je suis dans le néan actuellement et je ne suis pas en mesure d'avancer pour l'instant. J'ai besoin d'aide s'il vous plaît!

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    1673

    Bonjour,

    Quand on crée des routes avec Route::resource on se retrouve avec les 7 routes de base (CRUD) mais on ne spécifie pas une méthode particulière, donc on a :

    Route::resource('user', 'HomeController');

    Si tu veux juste une route pour pointer ta méthode alors ce n'est pas la bonne syntaxe, utilise plutôt :

    Route::get('user', 'HomeController@getUser');
  • Avatar de Gwendolau
    Membre depuis :
    01/08/2017
    Messages :
    9

    Merci de l'information!

Vous ne pouvez pas répondre à ce sujet.