Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Vi phạm ràng buộc toàn vẹn:1048 Cột 'user_id' không được để trống xảy ra khi gán vai trò (Laravel 5.3)

Vấn đề ở đây là bạn không đính kèm vai trò cho bất kỳ người dùng hiện tại nào, bạn chỉ chạy:

$roleuser = new User;

để tạo đối tượng người dùng không được lưu vào cơ sở dữ liệu.

Bạn nên làm điều gì đó như thế này:

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

hoặc

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

Bạn cũng không nên sử dụng $roleuser ở đây, vì nó rõ ràng là $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. Lưu trữ csv trong trường MySQL - ý tưởng tồi?

  2. MySQL đến MS Access

  3. Làm thế nào để chuyển đổi một chuỗi thành ngày tháng trong MySQL?

  4. MySQLi không chuẩn bị được một câu lệnh

  5. Cách chuyển đổi MYSQL db trong PHP