Laravel + Eloquent:在一个查询中组合2个表

I am trying to perform a query with Eloquent where I can get all the courses of an user.

Users have their courses because they are in some grade. So all courses of this grade will be included.

$user->grade->courses

Now I'd like to include some courses that are not in the user's grade thanks to the pivot table : users_courses. But I don't know how to query all tables at once using Eloquent.

enter image description here

EDIT : Here is what have

class Users extends Eloquent {
    public function courses()
    {
        return $this->belongsToMany('Courses', 'users_courses', 'student_id', 'course_id');
    }

    public function grade()
    {
        return $this->belongsTo('Grades', 'grade_id');   
    }
}

class Courses extends Eloquent {
    public function grade()
    {
        return $this->belongsTo('Grades');
    }

    public function users()
    {
        return $this->belongsToMany('Users', 'users_courses', 'student_id', 'course_id');
    }
}

class Grades extends Eloquent {

    public function courses()
    {
        return $this->hasMany('Courses', 'grade_id');
    }

    public function users()
    {
        return $this->hasMany('Users', 'grade_id');
    }
}