如果您搜索记录,可以直接定义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
它适用于一个对象:如果我添加关系'last':
FileData.where("created_on > ?", args["created_on"]).last
对于许多结果,我在rails控制台中收到错误:
NoMethodError(FileData :: ActiveRecord_Relation的未定义方法`attribute_name'[任何已定义和已请求]:..>
我很感激任何建议。
答案 0 :(得分:3)
使用列表类型返回多个对象:
field :file_data, types[FileDataType] do
...
end
types[...]
定义了一个列表类型。