sql >> Database >  >> RDS >> Mysql

Schending van integriteitsbeperking:1048 Kolom 'user_id' kan niet null zijn, er treedt een fout op bij het toewijzen van rollen (Laravel 5.3)

Het probleem hier is dat je geen rol toekent aan een bestaande gebruiker, je voert gewoon het volgende uit:

$roleuser = new User;

om een ​​gebruikersobject te maken dat niet in de database wordt opgeslagen.

Je zou eerder zoiets als dit moeten doen:

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

of

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

Gebruik ook geen $roleuser variabele hier, want het is duidelijk $user



  1. Bereikbeperking numerieke MySQL-kolom:hoe?

  2. Kan sqlite-database niet laden bij eerste keer uitvoeren

  3. Tijdstempel in een database invoegen + 7 dagen

  4. hibernate, mysql, glassfish v3 en JTA-gegevensbron