Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Integrity Constraint Violation:1048 Column 'user_id' can be null error tritt beim Zuweisen von Rollen auf (Laravel 5.3)

Das Problem hierbei ist, dass Sie keinem bestehenden Benutzer eine Rolle zuweisen, sondern einfach Folgendes ausführen:

$roleuser = new User;

um ein Benutzerobjekt zu erstellen, das nicht in der Datenbank gespeichert wird.

Sie sollten eher so etwas tun:

$roleuser = User::find(1); // find user with id 1
$user_superadmin = Role::where('role_desc', 'Superadmin')->first();
$roleuser->roles()->attach($user_superadmin); /*this line specifically*/

oder

$roleuser = User::create(['name' => 'Sample user']); // create sample user
$user_superadmin = Role::where('role_desc', 'Superadmin')->first();
$roleuser->roles()->attach($user_superadmin); /*this line specifically*/

Sie sollten auch nicht $roleuser verwenden Variable hier, weil es offensichtlich $user ist