Mysql
 sql >> Database >  >> RDS >> Mysql

Violazione del vincolo di integrità:1048 La colonna 'user_id' non può essere nulla Si verifica un errore durante l'assegnazione dei ruoli (Laravel 5.3)

Il problema qui è che non alleghi il ruolo a nessun utente esistente, esegui semplicemente:

$roleuser = new User;

per creare un oggetto utente che non viene salvato nel database.

Dovresti piuttosto fare qualcosa del genere:

$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*/

o

$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*/

Inoltre, non dovresti usare $roleuser variabile qui, perché ovviamente è $user