sql >> Databáze >  >> RDS >> Mysql

Porušení integritního omezení:1048 Sloupec 'user_id' nemůže být nulová chyba při přiřazování rolí (Laravel 5.3)

Problém je v tom, že nepřiřadíte roli žádnému existujícímu uživateli, pouze spustíte:

$roleuser = new User;

vytvořit uživatelský objekt, který se neuloží do databáze.

Raději byste měli udělat něco takového:

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

nebo

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

Také byste neměli používat $roleuser zde proměnná, protože je to zjevně $user



  1. PostgreSQL UNIX doménové sokety vs TCP sokety

  2. Zkopírujte položky z treeview tkinter

  3. SQL pohledy

  4. Vytváření dynamických odkazů s PHP/MySQL