Kat*_*yna 4 ruby-on-rails graphql
GraphQL 查询可以直接定义您是否搜索记录,例如通过其 id 或确切值(在我的例子中是日期)。
我的查询应该返回的不是 ActiveRecord 对象,而是 ActiveRecord Relation。如何定义它可以被 GraphQL 使用?
field :file_data, !FileDataType, " Returns records based on given date: format 'yyyy-mm-dd hh:mm:ss'" do
argument :created_on, !types.String, "format 'yyyy-mm-dd hh:mm:ss'"
resolve -> (obj, args, context) do
FileData.where("created_on > ?", args["created_on"])
end
end
Run Code Online (Sandbox Code Playgroud)
它适用于一个对象:如果我添加到关系“最后”:
FileData.where("created_on > ?", args["created_on"]).last
Run Code Online (Sandbox Code Playgroud)
对于许多结果,我在 Rails 控制台中收到错误:
NoMethodError(FileData::ActiveRecord_Relation 的未定义方法“attribute_name”[任何定义和请求]:..>
我将不胜感激任何建议。
使用列表类型返回多个对象:
field :file_data, types[FileDataType] do
...
end
Run Code Online (Sandbox Code Playgroud)
types[...]定义一个列表类型。
| 归档时间: |
|
| 查看次数: |
1281 次 |
| 最近记录: |