Accessing relationship fields inside Ash.query.filter
I have this:
The
defp user_query(context) do
User
|> Ash.Query.select([:first_name, :last_name])
|> Ash.Query.load([dashboard_students: [:educator, :dashboard_student_groups]])
|> maybe_filter_by_graduation_year(context)
|> maybe_filter_by_dashboard_group(context)
end
defp maybe_filter_by_graduation_year(query, %{arguments: %{graduation_year: nil}}) do
query
end
defp maybe_filter_by_graduation_year(query, %{arguments: %{graduation_year: graduation_year}}) do
Ash.Query.filter(query, graduation_year == ^graduation_year or undergraduate_graduation_year == ^graduation_year)
end
defp maybe_filter_by_dashboard_group(query, %{arguments: %{dashboard_group_id: nil}}) do
query
end
defp maybe_filter_by_dashboard_group(query, %{arguments: %{dashboard_group_id: dashboard_group_id}}) do
Ash.Query.filter(query, dashboard_student_groups.id == ^dashboard_group_id)
enddefp user_query(context) do
User
|> Ash.Query.select([:first_name, :last_name])
|> Ash.Query.load([dashboard_students: [:educator, :dashboard_student_groups]])
|> maybe_filter_by_graduation_year(context)
|> maybe_filter_by_dashboard_group(context)
end
defp maybe_filter_by_graduation_year(query, %{arguments: %{graduation_year: nil}}) do
query
end
defp maybe_filter_by_graduation_year(query, %{arguments: %{graduation_year: graduation_year}}) do
Ash.Query.filter(query, graduation_year == ^graduation_year or undergraduate_graduation_year == ^graduation_year)
end
defp maybe_filter_by_dashboard_group(query, %{arguments: %{dashboard_group_id: nil}}) do
query
end
defp maybe_filter_by_dashboard_group(query, %{arguments: %{dashboard_group_id: dashboard_group_id}}) do
Ash.Query.filter(query, dashboard_student_groups.id == ^dashboard_group_id)
endThe
maybe_filter_by_graduation_yearmaybe_filter_by_graduation_year works, but maybe_filter_by_dashboard_groupmaybe_filter_by_dashboard_group gives this error:** (Ash.Error.Unknown)
Bread Crumbs:
> Error returned from: MyApp.Ash.Organizations.Organization.read
Unknown Error
* Invalid reference dashboard_student_groups.id
at users, filter** (Ash.Error.Unknown)
Bread Crumbs:
> Error returned from: MyApp.Ash.Organizations.Organization.read
Unknown Error
* Invalid reference dashboard_student_groups.id
at users, filter