sql >> データベース >  >> RDS >> Mysql

整合性制約違反:1048列'user_id'をnullにすることはできませんロールの割り当て時にエラーが発生します(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. PostgreSQLの日付と時刻の関数

    2. Windowsのコマンドラインからmysqlデータディレクトリを見つける方法

    3. BeanCreationException:「flywayInitializer」という名前のBeanの作成中にエラーが発生しました

    4. PDOException:SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfoが失敗しました:名前またはサービスが不明です