2017-02-10 6 views
0

GraphQLのクエリは、レコードを検索する場合などに直接定義できます。そのIDまたは正確な値(私の場合は日付)でGraphR(Rails)でActiveRecord関係を返す方法は?

私のクエリは1つの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 

それは一つのオブジェクトのために働く:私は関係に追加する場合は、「最後」:

NoMethodError(未定義のメソッド `:私はレールコンソールでエラーを取得する多くの結果を得るために

 FileData.where("created_on > ?", args["created_on"]).last 

を属性名 '[任意の&が要求されました] FileData :: ActiveRecord_Relation:..>

私はどんな提案もありがとうございます。

答えて

2

複数のオブジェクトを返すためのリスト型を使用します。

field :file_data, types[FileDataType] do 
    ... 
end 

types[...]は、リスト型を定義します。

+0

ありがとうございました!私は追加の宝石(graphql-rubyにはArray、ActiveRecord :: Relation、Sequel :: Datasetsの組み込みの接続サポートが含まれています)を考えていましたが、ソリューションはとてもシンプルになっていました! – Katarzyna

関連する問題