Ordering on associated schema field

I have a has_one and belongs_to relationship between students and enrollment. The enrollment belongs to a student.

In an index view I am returning a list of students, preloading the enrollment and outputting columns to sort the data on out to a table. This all works fine.

One column I have in the outputted view is for_grade which is in the Enrollment schema. I need to be able to order_by this column but I can’t work out how to do this?

I have utilized the guide in What’s New In Ecto 2.1 for filtering on params using the following technique

def filter(params) do
  Student
  |> order_by(^filter_order_by(params["order_by"]))
end

defp filter_order_by("name_desc"), do: [desc: :last_name]
defp filter_order_by("name"), do: [asc: :last_name]
defp filter_order_by("received_desc"), do: [desc: :inserted_at]
defp filter_order_by("received"), do: [asc: :inserted_at]
...

Am I missing something completely obvious? Is there a idiomatic/recognized way to order_by on the association which I’m overlooking?

Thanks in advance.