自身の投稿からいいねをしたユーザーリストを表示させたいです。

いつもお世話になっております。

大変素人質問で恐縮ですが、下記内容についてご確認いただき回答いただけますと幸いです。

実現したい内容

  1. 講師のマイプロフィールがあり、プロフィール内に投稿リストが格納されており、そこから投稿詳細に遷移することができます。
  2. 投稿詳細内には「いいねトグル」、「いいね獲得数」、「いいねをした生徒のリストへの遷移する項目」を設置されています。
  3. 「いいねをした生徒のリストへの遷移する項目」から「いいねをしたユーザーリスト」を表示させたい。

課題

3.に記載した"投稿から「いいね」をしたユーザーリストを表示させる方法"がわからず困っています。

現状

投稿詳細画面から「いいねユーザーリスト」画面に遷移する際、投稿のIDをパラメータとして渡そうとしていますが、その設定方法がわからず、実装が進んでいません。設定方法をご教示いただけますと幸いです。

参照画像

投稿詳細

遷移後のリスト

具体的な、クエリ作成の方法については、

  • Postデータの取得:
    FlutterFlowのBackendクエリを使用して、現在のpostIdに基づいてPostドキュメントを取得します。
    クエリ条件: Post.id == postId

  • いいねユーザーIDリストの取得:
    取得したPostドキュメントから、Likeフィールド(ユーザーIDのリスト)を抽出します。

  • ユーザーデータの取得と表示
    取得したユーザーIDリストを使用して、対応するユーザードキュメントを取得します。

となります。

これが、FlutterFlowの挙動になると、

①Postデータの取得とユーザーの絞り込み

いいねを表示したいListViewに対して、

クエリの作成

LikesのDocumentでフィルターする

これだけで、基本はOKです、ただ、このままだと表示テキストはDocumentid だけになるので、以下②を行います。

②ユーザーデータの取得と表示

テキストウィジェットに対して、GetDocument Propertyで①のクエリをさらにUserDocumentを読み込み(例 Email)で表示する。

内容ほぼ同じですが、良ければ、こちらも参考にどうぞ。

ご確認いただきありがとうございます。
また、丁寧なご回答大変感謝いたします。

ただすみません、SQLについての知識がないため内容に追いつけておりません、、。

頂いた内容でリストを作成するに当たり、下記内容が必要かご回答いただけますでしょうか。

質問内容
1.UsersとPostのコレクションとは別にLikeのコレクションが必要ということでしょうか?

Postデータの取得:
FlutterFlowのBackendクエリを使用して、現在のpostIdに基づいてPostドキュメントを取得します。
クエリ条件: Post.id == postId

ここのPost IDの生成方法もまだわからなかったため、
参考のURLなどご教示いただけると助かります。

2.1の場合、Likeのコレクションの構成を教えていただきたいです。

まず、Likeのコレクションまでは、必要ありません。
想定ですが、Postの中に”フィールド”としてLike が Refelenceとして存在しているのではないかと思います。

クエリ条件: Post.id == postId

は、忘れていいですよ。挙動の内容を伝えたかっただけなので、

以下のListViewからDynamic Childrenを選択し、Listになれば、基本動作はできているはずです。

早々のご確認ありがとうございます!

Postコレクションにlikeのreference(user)を作成しているので、現状頂いた画像の様になっております。良かったです。

dynamic childrenなのですが、現在添付画像の状況になっていますがどのように選択していけばよろしいでしょうか。

大変お手数ですが、ご確認のほど何卒よろしくお願いいたします。

いいかんじですね。

Dynamic children 動的なクエリのことなので、
今回は、いわゆる Curret Post (前のページで表示されたPost情報)を選択することができます。

具体的には、
Page Prameterから、前のデータを受け取る必要があります。
例えば、私の場合には、RefPostというパラメーターを定義しているので、こここから情報を取得してます。

b19c715e85cd8961fe3d7d1b5fa6ca1b (1)

動画めっちゃわかりやすいです!
ありがとうございます!
とてもイメージつかめました!

ただparameterでpostRefを作成してそれを投稿詳細画面に渡していたのですが、
dynamic childrenで該当のものを選択した際に、available optionsが選択できない状態となっておりました、、。(※添付画像の状態)

この状態というのはうまくparameterが渡せていない状態ということでしょうか。

何度もお手数をおかけし申し訳ございませんが、
ご確認のほど、何卒よろしくお願いいたします。

そうですね。その手前ページからのPassが受け取れてないのだと思います。

その手間のページのナビゲートから、Document Typeでのパラメーターの受け渡しが必要です。