【发布时间】:2018-03-19 20:00:07
【问题描述】:
我正在尝试找出如何使用 Absinthe 在我的查询中对嵌套项使用参数。
我试图完成的是:
{
users(order: ASC) {
id
email
clients(order: DESC) {
id
email
}
}
}
这是我的架构和类型:
query do
@desc "Get all users"
field :users, list_of(:user) do
arg :order, type: :sort_order, default_value: :asc
resolve &Resolvers.users/2
end
end
@desc "A user"
object :user do
field :id, :id
field :email, :string
field :clients, list_of(:user)
end
以及解析器:
def users(_, args, _) do
args
|> Enum.reduce(User, fn
{:order, order}, query ->
query |> order_by({^order, :email})
end)
|> Repo.all |> Repo.preload([:clients])
end
所以我的问题是我应该如何以及在哪里为客户放置排序参数? 在上面的例子中,我得到一个错误:
"message": "Unknown argument \"order\" on field \"clients\" of type \"User\"."
【问题讨论】:
-
这个Q & A 可能会对你有所帮助。
标签: elixir phoenix-framework graphql absinthe