解決Laravel-8中嘗試在null上讀取屬性"id"的問題
P粉194919082
P粉194919082 2023-11-08 14:07:01
0
2
597

運行時出現此錯誤 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粉194919082
P粉194919082

全部回覆(2)
P粉786432579

更改此行:

model->created_by = $user->id ? $user->id : 1 ;

對此:

model->created_by = $user ? $user->id : 1 ;

您必須先檢查$user是否為空。

P粉478188786

這裡的問題是 $user 的值為 nullnull 沒有任何屬性。

$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();
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板