sql >> Databasteknik >  >> RDS >> Mysql

Överträdelse av integritetsbegränsning:1048 Kolumnen "user_id" kan inte vara null fel uppstår vid tilldelning av roller (Laravel 5.3)

Problemet här är att du inte kopplar roll till någon befintlig användare, du kör bara:

$roleuser = new User;

för att skapa användarobjekt som inte sparas i databasen.

Du borde hellre göra något sånt här:

$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 inte heller använda $roleuser variabel här, eftersom det uppenbarligen är $user



  1. fulltext mysql-sökning i rails

  2. MySQL-avrundningsfunktioner

  3. Microsoft Access DevCon i Wien Österrike 1–2 april 2017

  4. Android SQLite infoga eller uppdatera