Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Violação de restrição de integridade:1048 A coluna 'user_id' não pode ser nula erro ocorre ao atribuir funções (Laravel 5.3)


O problema aqui é que você não anexa a função a nenhum usuário existente, apenas executa:
$roleuser = new User;

para criar um objeto de usuário que não seja salvo no banco de dados.

Você deve preferir fazer algo assim:
$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*/

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

Você também não deve usar $roleuser variável aqui, porque obviamente é $user