supabaseで連結取得したテーブルデータを絞り込みできない件

気になる人はいるかもと思ったので、メモを置いておきます。

例えば、supabaseで顧客データに紐付けされた商品を顧客データを取得する際に絞り込むことは、一度のデータ処理ではできないようです。

なので、現状jsのfilter()で対応することにしました。

//例:顧客データから商品一覧を東京の店舗情報で絞り込みたい!
  const getCustomers = () =>
    supabase
      .from('customers')
      .select('*, products(*)')
      .filter('products.city', 'eq', 'tokyo')
      .in('status', ['active']);
//->この場合、products.shop内はhogehogeのみ取得されるが、該当しないproductsデータはproducts.shop == nullの状態で残る

まとめ

サンプルの状況は適当(仮のもの)ですが、やりたいことは何となく分かるかと思います。もし連結して取得したテーブルの情報から取得するデータを絞り込む方法があるようでしたら、コメントでお知らせいただけると幸いです。

参考

How to get records based on foreign (embedded) table’s column value? #1827

ー この記事をシェアする? ー

この記事にコメントする

このサイトはreCAPTCHAとGoogleによって保護されています。プライバシーポリシー利用規約が適用されます。