運行時出現此錯誤
php artisan migrate:fresh --seed
此命令將在 MySQL 資料庫中建立表,並將資料庫詳細資訊 DB_DATABASE 填入 .env 檔案中。
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
更改此行:
model->created_by = $user->id ? $user->id : 1 ;
對此:
model->created_by = $user ? $user->id : 1 ;
您必須先檢查$user
是否為空。
P粉4781887862023-11-09 09:28:03
這裡的問題是 $user
的值為 null
且 null
沒有任何屬性。
$user
將永遠為 null
,而您的程式碼則為 Auth::user()
將是 null
。在執行播種程序期間,您沒有經過驗證的使用者
。
如果您想將User
指派給您的$model
並且您已為User
表播種,您可以取得一個使用者這樣
。
$model->created_by = \App\Models\User::where('id', 5)->first();
如果您不想要特定的用戶
,那麼您可以這樣做:
$model->created_by = \App\Models\User::inRandomOrder()->first();