FROM CACHE - jp_header

ある条件でフィルターする時に変数を使用できるのか?

解決済

ある条件でフィルターする時に変数を使用できるのか?

ryu245
Shopify Partner
12 0 1
query($per_page: Int, $date_time: String) {
  orders(first: $per_page, query: "-fulfillment_status:shipped AND financial_status:paid And created_at:<=$date_time") {
    edges {
      node {
        id
        name
        createdAt
}

例えば上記のようなコードで、 orderのcreated_atが特定の日時よりの前のデータを取得したいとなった時に、$date_timeという変数で動的に日時を入れたいと思ったのですが、変数が参照できていないようです。queryの中で変数を参照する方法はあるでしょうか?

1 件の受理された解決策

Qcoltd
Shopify Partner
1076 442 435

成功

@ryu245 様

 

search queryの中に変数を埋め込む方法は分からなかったのですが、

下記ではどうでしょうか?

 

query($per_page: Int, $query: String) {
  orders(first: $per_page, query: $query) {
    edges {
      node {
            id
            name
            createdAt
        }
    }
  }
}

 

そして、variableを、例えば、下記のようにします。

{
    "per_page": 2,
    "query": "-fulfillment_status:shipped AND financial_status:paid And created_at:<'2023-06-06T02:41:45Z'"
}

 

なお、

created_atの以上、以下は、

created_at:<= や、

created_at:>= とは表記せず、

created_at:< や、

created_at:> となります。

(※コロンがイコールは意味しますので、イコールはつけなくて大丈夫です)

 

もしかしたら、

ここまでしなくて、

NodeやRubyのプログラムの中で、GraphQLを実行されていると思いますので、

GraphQLのvariableを使わずに、

プログラム側からGraphQLに変数を埋め込めば良いかもしれませんね。

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/

元の投稿で解決策を見る

1件の返信1

Qcoltd
Shopify Partner
1076 442 435

成功

@ryu245 様

 

search queryの中に変数を埋め込む方法は分からなかったのですが、

下記ではどうでしょうか?

 

query($per_page: Int, $query: String) {
  orders(first: $per_page, query: $query) {
    edges {
      node {
            id
            name
            createdAt
        }
    }
  }
}

 

そして、variableを、例えば、下記のようにします。

{
    "per_page": 2,
    "query": "-fulfillment_status:shipped AND financial_status:paid And created_at:<'2023-06-06T02:41:45Z'"
}

 

なお、

created_atの以上、以下は、

created_at:<= や、

created_at:>= とは表記せず、

created_at:< や、

created_at:> となります。

(※コロンがイコールは意味しますので、イコールはつけなくて大丈夫です)

 

もしかしたら、

ここまでしなくて、

NodeやRubyのプログラムの中で、GraphQLを実行されていると思いますので、

GraphQLのvariableを使わずに、

プログラム側からGraphQLに変数を埋め込めば良いかもしれませんね。

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/