Мне удалось решить эту проблему с помощью laravel Join из Laravel docs. Запрос выглядит следующим образом и работает так, как я ожидал.
$myCourses = Classes::join('bookings', 'classes.id', '=', 'bookings.course_id')
->select('classes.*')
->where('bookings.customer_id', '=', auth()->user()->id)
->where('bookings.status', '=', 'Approved')
->get();
Просмотрел laravel документы на их сайте и наткнулся на это. Ссылка на источник решения https://laravel.com/docs/4.2/queries
Спасибо