ここでの問題は、既存のユーザーに役割を付与せず、実行するだけであるということです。
$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
だからです。