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

Overtrædelse af integritetsbegrænsning:1048 Kolonne 'user_id' kan ikke være null fejl opstår ved tildeling af roller (Laravel 5.3)

Problemet her er, at du ikke knytter rolle til nogen eksisterende bruger, du kører bare:

$roleuser = new User;

at oprette brugerobjekt, der ikke er gemt i databasen.

Du burde hellere gøre sådan noget:

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

eller

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

Du bør heller ikke bruge $roleuser variabel her, fordi det åbenlyst er $user



  1. @OnDelete Hibernate annotation genererer ikke PÅ SLET CASCADE til MySql

  2. android.content.res.Resources$NotFoundException:String ressource ID #0x2 Database

  3. Er der en SQL Server Profiler til SQL Server Express?

  4. Udefineret indeks:REMOTE_ADDR mens Laravel migrerer