Rumah > Soal Jawab > teks badan
Ralat ini berlaku semasa berjalan
php artisan migrate:fresh --seed
Perintah ini akan mencipta jadual dalam pangkalan data MySQL dan mengisi fail .env dengan butiran pangkalan data DB_DATABASE.
parent::boot(); static::creating(function($model) { $user = Auth::user(); model->created_by = $user->id ? $user->id : 1 ; }); static::updating(function($model) { $user = Auth::user();``` Controller:
P粉7864325792023-11-09 13:01:31
Tukar baris ini:
model->created_by = $user->id ? $user->id : 1 ;
Untuk ini:
model->created_by = $user ? $user->id : 1 ;
Anda mesti menyemak dahulu jika $user
kosong.
P粉4781887862023-11-09 09:28:03
Masalahnya di sini ialah $user
的值为 null
并且 null
tidak mempunyai sebarang sifat.
$user
将始终为 null
,而您的代码则为 Auth::user()
将是 null
。在执行播种程序期间,您没有经过身份验证的用户
.
Jika anda mahu User
分配给您的 $model
并且您已为 User
表播种,您可以获得一个 用户这样
.
$model->created_by = \App\Models\User::where('id', 5)->first();
Jika anda tidak mahu yang khusus 用户
maka anda boleh melakukan ini:
$model->created_by = \App\Models\User::inRandomOrder()->first();