Solution 1:

Try this:

Student::with(array('exam' => function($query) {
        $query->orderBy('result', 'DESC');
    }))
    ->get();

Solution 2:

If you need to order your students collection by the result column, you will need to join the tables.

Student::with('exam')
       ->join('exam', 'students.id', '=', 'exam.student_id')
       ->orderBy('exam.result', 'DESC')
       ->get()

In this case, assuming you have a column student_id and your exams table are named exam.