Current section
Files
Jump to
Current section
Files
lib/query/root.ex
defmodule Hierarch.Query.Root do
import Ecto.Query
@doc """
Return query expressions for the root
"""
def query(%schema{} = struct) do
condition = root_condition(struct)
from schema, where: ^condition
end
defp root_condition(%_schema{} = struct) do
path = Hierarch.Util.struct_path(struct)
[{pk_column, value}] = Ecto.primary_key(struct)
root_id = Hierarch.LTree.root_id(path, value)
dynamic([q], field(q, ^pk_column) == ^root_id)
end
end