@rcvioleta If you use default spatie table names, it could be like this
use App\User;
DB::table('users')->select('users.id', 'users.name', 'users.email', 'banned_users.ban_date', 'banned_users.ban_reason', 'roles.name as role')
->join('banned_users', 'banned_users.user_id', '=', 'users.id')
->join('model_has_roles', function ($join) {
$join->on('users.id', '=', 'model_has_roles.model_id')
->where('model_has_roles.model_type', User::class);
})
->join('roles', 'model_has_roles.role_id', '=', 'roles.id')
->where(['banned_users.banned_by' => 1])
->get();