見出し画像

【FlutterFlow】バックエンドクエリでユーザのデータを参照せよ:ドキュメント・レファレンスの送受信

はい、こんにちは!前回記事からの続きです。FlutterFlowで、ページ間でドキュメント・レファレンスの受け渡しについて、ご紹介しています。

前回はドキュメント・レファレンスを送信するためのアクション設定を行いました。あくまでNavigate toアクション設定の一部としてパラメータにデータをPassする設定をするんでしたね~。

そして今回は、ユーザ詳細ページのウィジェットに、パラメータ内のデータを紐づける作業をします~。

下図の⑤にあたるところです。

果たして、受け取ったドキュメント・レファレンス(UsersコレクションのID)から上手くフィールド値を引き出せるでしょうか?

では、行ってみよ~。

バックエンドクエリの設定が必要だった…

さっさとウィジェットとデータを紐づける作業をしたかったのですが、実はもうひと手間必要です。

(本当に×2データの取り回しがややこしいですね~。でも、仕様ですから受け入れるしかない。きっと慣れですよ…。そう信じます。)

そのひと手間とは、「ドキュメント・レファレンスをカギとして、ドキュメントのデータを参照する」という作業です。そうバックエンドクエリの設定が必要なんです。

私たちは、ページパラメータにカギ(Usersコレクションへの外部キー)を受け取っただけです。そのカギを使って、Usersコレクションのドキュメントのデータを参照しなければならないのです~。

ページウィジェットを選択します。

バックエンドクエリを追加を押します。

クエリタイプは、Document from Referenceですね。

Collectionは、Usersです。このコレクションのデータが使いたいので。

変数の設定では、ページパラメータを指定しましょう!ここにドキュメントレファレンス(UserID)が入っている。

Confirmを押せば、設定が完了です。

ふ~、バックエンドクエリのアイコンがページウィジェットに表示されました。これでよし…。

ウィジェットとフィールド値を紐づけ

気を取り直して、ウィジェットの設定をします!

現在、ユーザ詳細ページは次の通りとなっています。おかれているウィジェットは、CircleImage、Text、Textですが、データの紐づけはされておらず、初期設定の値が表示されています。

ドキュメント・レファレンスを受け取れるようページ・パラメータも設定済みです!バックエンドクエリの設定もやりました。

よし、3つのウィジェットにフィールド値を紐づけるぞ!

CircleImage(プロフィール写真)

1つ目はCircleImageから。ユーザプロフィール画像を表示させます。

パスをクリックします。

データソースはどれだ…。もうページパラメータではないですよ。バックエンドクエリにより参照する「users Document」です!

欲しいフィールド値は、photo_urlです。ポチ。

よし、プロフィール画像は設定完了だ。

Text(ユーザ名)

残りのウィジェットも同様に設定します。ユーザ名を表示させるテキストを選択します。変数ボタンをクリック。

display_nameを選択。これでよし。

Text(メールアドレス)

そして、最後のテキストウィジェットには、emailを紐づけます。

3つのウィジェットの設定が完了!キャンバスには、下図のように表示されています。CircleImageの画像は変わりませんが、テキストウィジェットには、紐づいているフィールド名が表示されています!


これでこのシリーズの一連の設定はすべて終わりました~♪。ここまでたどり着いてよかったですよ~。


はい、本日は、ここまで!今回は、ページウィジェットにバックエンドクエリを設定し、レファレンス先のドキュメントを参照できるようにしてから、ウィジェットとフィールド値を紐づけました。

次回は、いよいよ動作の検証です。うまく、動くかな…。

では、また~。

いいなと思ったら応援しよう!