Mysql
 sql >> база данни >  >> RDS >> Mysql

Нарушение на ограничението за интегритет:1048 Колона 'user_id' не може да бъде нулева грешка възниква при присвояване на роли (Laravel 5.3)

Проблемът тук е, че не прикачвате роля към нито един съществуващ потребител, а просто изпълнявате:

$roleuser = new User;

за създаване на потребителски обект, който не е запазен в базата данни.

По-скоро трябва да направите нещо подобно:

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

или

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

Също така не трябва да използвате $roleuser променлива тук, защото очевидно е $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. Как мога да получа идентификатори на предшественици за произволна дълбочина на рекурсия в една SQL заявка?

  2. Липсва първия ред данни от MYSQL

  3. PHP MySQLi multi_query подготвен оператор

  4. Няма резултати от заявка за модел [App\Products] Laravel

  5. Искам да конвертирам MySQL заявка в PDO?