Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menambah nilai baru kepada fungsi "auth()" selepas log masuk?

<p>Saya sedang membangunkan projek menggunakan Laravel 8. </p> <p>Terdapat beberapa medan dalam jadual Pengguna saya, seperti "us_name", "us_surname". Setelah pengguna log masuk, saya boleh mendapatkan nilai ini melalui "auth()->user()->us_name" Setakat ini, tiada masalah. </p> <p>Apa yang saya mahu lakukan ialah menambah beberapa nilai di sini yang tiada dalam jadual saya. Sebagai contoh, selepas log masuk, gabungkan nama pertama dan nama keluarga serta tambah medan baharu yang dipanggil "us_fullname" dan aksesnya melalui "auth()->user()->us_fullname". Bagaimana saya boleh melakukan ini? </p>
P粉354948724P粉354948724435 hari yang lalu365

membalas semua(1)saya akan balas

  • P粉351138462

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

    Anda boleh mendapatkan model Boleh Sahih daripada pengawal lalai dengan menghubungi auth()->user().

    Mari kita lihat pada konfigurasi lalai/auth.php

    <?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,
            ]
        ]
    ];

    Dengan konfigurasi Laravel lalai ini anda mendapat:

    1. Pengawal lalai ialah web
    2. web守卫提供者(提供Authenticatable)是usersPembekal Pengawal (menyediakan
    3. ) ialah
    4. users
    5. Pembekal menyediakan AppModelsUser::classAuthenticatable
    6. AppModelsUser melaksanakan
    Kontrak

    auth()->user()

    Kemudian, dengan memanggil

    - anda akan mendapat contoh AppModelsUser::class atau null

    Jawab soalan andafull_name),并将其作为auth()->user()->full_name

    Anda boleh menambah apa sahaja pada model Pengguna (seperti

    Pendapatan semula Baca tentang

    Aksesor🎜 - menggunakannya anda boleh menambah sifat yang dikira: 🎜
    class User extends Authenticatable
    {
      public function getFullNameAttribute()
      {
         return "{$this->first_name} {$this->last_name}";
      }
    }

    balas
    0
  • Batalbalas