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