Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Naruszenie ograniczenia integralności:1048 Kolumna „user_id” nie może mieć wartości NULL podczas przypisywania ról występuje błąd (Laravel 5.3)

Problem polega na tym, że nie przypisujesz roli żadnemu istniejącemu użytkownikowi, po prostu uruchamiasz:

$roleuser = new User;

aby utworzyć obiekt użytkownika, który nie jest zapisywany w bazie danych.

Powinieneś raczej zrobić coś takiego:

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

lub

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

Nie powinieneś również używać $roleuser tutaj zmienna, ponieważ jest to oczywiście $user



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak zablokować niektóre wiersze, ponieważ nie są wybierane w innej transakcji?

  2. Tworzenie widoku w różnych bazach danych

  3. Zamiana liczby na słowo w Mysql

  4. Jak wstawić nowy identyfikator automatycznego przyrostu

  5. Zapytanie o aktualizację MySQL z lewym dołączeniem i grupowaniem według