Maison  >  Questions et réponses  >  le corps du texte

Comment ajouter une nouvelle valeur à la fonction « auth() » après la connexion ?

<p>Je développe un projet utilisant Laravel 8. </p> <p>Il y a certains champs dans ma table Utilisateurs, tels que "us_name", "us_surname". Une fois l'utilisateur connecté, je peux obtenir ces valeurs via "auth()->user()->us_name" etc. Jusqu'à présent, aucun problème. </p> <p>Ce que je veux faire, c'est ajouter ici des valeurs qui ne sont pas dans mon tableau. Par exemple, après vous être connecté, combinez le prénom et le nom et ajoutez un nouveau champ appelé "us_fullname" et accédez-y via "auth()->user()->us_fullname". Comment puis-je faire ceci? </p>
P粉354948724P粉354948724386 Il y a quelques jours329

répondre à tous(1)je répondrai

  • P粉351138462

    P粉3511384622023-09-04 12:39:52

    Vous pouvez obtenir le modèle authentifiable auprès de la garde par défaut en appelant auth()->user().

    Jetons un coup d'œil au config/auth.php par défaut

    <?php
    
    return [
        'defaults' => [
            'guard' => 'web',
            'passwords' => 'users',
        ],
        'guards' => [
            'web' => [
                'driver' => 'session',
                'provider' => 'users',
            ],
    
            'api' => [
                'driver' => 'token',
                'provider' => 'users',
                'hash' => false,
            ],
        ],
        'providers' => [
            'users' => [
                'driver' => 'eloquent',
                'model' => App\Models\User::class,
            ]
        ]
    ];

    Avec cette configuration Laravel par défaut, vous obtenez :

    1. La garde par défaut est web
    2. web守卫提供者(提供Authenticatable)是usersGuard Provider (fournissant
    3. ) est
    4. users
    5. Le fournisseur fournit AppModelsUser::classAuthenticatable
    6. AppModelsUser implémente le
    Contract

    auth()->user()

    Ensuite, en appelant

    - vous obtiendrez une instance de AppModelsUser::class ou null

    Répondez à vos questionsfull_name),并将其作为auth()->user()->full_name

    Vous pouvez ajouter n'importe quoi au modèle utilisateur (comme

    Récupération En savoir plus sur les

    Accessoires🎜 - en l'utilisant, vous pouvez simplement ajouter des propriétés calculées : 🎜
    class User extends Authenticatable
    {
      public function getFullNameAttribute()
      {
         return "{$this->first_name} {$this->last_name}";
      }
    }

    répondre
    0
  • Annulerrépondre