I have a
belongs_to relationship between
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.