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