Back to Ash

Ash.Query.filter is a macro

usage-rules/query_filter.md

3.24.6933 B
Original Source
<!-- SPDX-FileCopyrightText: 2019 ash contributors <https://github.com/ash-project/ash/graphs/contributors> SPDX-License-Identifier: MIT -->

Ash.Query.filter is a macro

Important: You must require Ash.Query if you want to use Ash.Query.filter/2, as it is a macro.

If you see errors like the following:

Ash.Query.filter(MyResource, id == ^id)
error: misplaced operator ^id

The pin operator ^ is supported only inside matches or inside custom macros...
iex(3)> Ash.Query.filter(MyResource, something == true)
error: undefined variable "something"
└─ iex:3

You are very likely missing a require Ash.Query

Common Query Operations

  • Filter: Ash.Query.filter(query, field == value)
  • Sort: Ash.Query.sort(query, field: :asc)
  • Load relationships: Ash.Query.load(query, [:author, :comments])
  • Limit: Ash.Query.limit(query, 10)
  • Offset: Ash.Query.offset(query, 20)