Bagaimana untuk menambah nilai baru kepada fungsi "auth()" selepas log masuk?
P粉354948724
P粉354948724 2023-09-03 13:18:05
0
1
395
<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粉354948724
P粉354948724

membalas semua(1)
P粉351138462

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}";
  }
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan