Heim > Fragen und Antworten > Hauptteil
Dieser Fehler tritt beim Ausführen auf
php artisan migrate:fresh --seed
Dieser Befehl erstellt eine Tabelle in der MySQL-Datenbank und füllt die .env-Datei mit den Datenbankdetails 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
更改此行:
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();