![見出し画像](https://assets.st-note.com/production/uploads/images/116210667/rectangle_large_type_2_71225dbc792f6321860a077c3a078708.png?width=1200)
【FlutterFlow】バックエンドクエリでユーザのデータを参照せよ:ドキュメント・レファレンスの送受信
はい、こんにちは!前回記事からの続きです。FlutterFlowで、ページ間でドキュメント・レファレンスの受け渡しについて、ご紹介しています。
前回はドキュメント・レファレンスを送信するためのアクション設定を行いました。あくまでNavigate toアクション設定の一部としてパラメータにデータをPassする設定をするんでしたね~。
そして今回は、ユーザ詳細ページのウィジェットに、パラメータ内のデータを紐づける作業をします~。
下図の⑤にあたるところです。
![](https://assets.st-note.com/img/1694721679772-0xe4rZaHvt.png?width=1200)
果たして、受け取ったドキュメント・レファレンス(UsersコレクションのID)から上手くフィールド値を引き出せるでしょうか?
では、行ってみよ~。
バックエンドクエリの設定が必要だった…
さっさとウィジェットとデータを紐づける作業をしたかったのですが、実はもうひと手間必要です。
(本当に×2データの取り回しがややこしいですね~。でも、仕様ですから受け入れるしかない。きっと慣れですよ…。そう信じます。)
そのひと手間とは、「ドキュメント・レファレンスをカギとして、ドキュメントのデータを参照する」という作業です。そうバックエンドクエリの設定が必要なんです。
私たちは、ページパラメータにカギ(Usersコレクションへの外部キー)を受け取っただけです。そのカギを使って、Usersコレクションのドキュメントのデータを参照しなければならないのです~。
ページウィジェットを選択します。
![](https://assets.st-note.com/img/1694723136025-ODxrTa1TBM.png)
バックエンドクエリを追加を押します。
![](https://assets.st-note.com/img/1694723258315-5P9QKW0aHQ.png)
クエリタイプは、Document from Referenceですね。
![](https://assets.st-note.com/img/1694723312896-qOmft47DPw.png)
Collectionは、Usersです。このコレクションのデータが使いたいので。
![](https://assets.st-note.com/img/1694723404427-KGigaEb4x1.png)
変数の設定では、ページパラメータを指定しましょう!ここにドキュメントレファレンス(UserID)が入っている。
![](https://assets.st-note.com/img/1694723523968-z1Y9HMoGBc.png)
Confirmを押せば、設定が完了です。
![](https://assets.st-note.com/img/1694723657481-VWe4gnFpCV.png)
ふ~、バックエンドクエリのアイコンがページウィジェットに表示されました。これでよし…。
ウィジェットとフィールド値を紐づけ
気を取り直して、ウィジェットの設定をします!
現在、ユーザ詳細ページは次の通りとなっています。おかれているウィジェットは、CircleImage、Text、Textですが、データの紐づけはされておらず、初期設定の値が表示されています。
![](https://assets.st-note.com/img/1694722026712-CjWrBobkKc.png)
ドキュメント・レファレンスを受け取れるようページ・パラメータも設定済みです!バックエンドクエリの設定もやりました。
![](https://assets.st-note.com/img/1694722202887-2CCRBrtSaJ.png)
よし、3つのウィジェットにフィールド値を紐づけるぞ!
CircleImage(プロフィール写真)
1つ目はCircleImageから。ユーザプロフィール画像を表示させます。
![](https://assets.st-note.com/img/1694722313682-h20Mi2xSjI.png)
パスをクリックします。
![](https://assets.st-note.com/img/1694722390520-dN1rZo4wqy.png)
データソースはどれだ…。もうページパラメータではないですよ。バックエンドクエリにより参照する「users Document」です!
![](https://assets.st-note.com/img/1694723979470-uopvncd8JS.png)
欲しいフィールド値は、photo_urlです。ポチ。
![](https://assets.st-note.com/img/1694724083462-i9OXbs5EO1.png)
よし、プロフィール画像は設定完了だ。
![](https://assets.st-note.com/img/1694724199469-O7s244dQQp.png)
Text(ユーザ名)
残りのウィジェットも同様に設定します。ユーザ名を表示させるテキストを選択します。変数ボタンをクリック。
![](https://assets.st-note.com/img/1694724274691-hOORl3MQho.png)
display_nameを選択。これでよし。
![](https://assets.st-note.com/img/1694724364613-sXkuKon08U.png)
Text(メールアドレス)
そして、最後のテキストウィジェットには、emailを紐づけます。
![](https://assets.st-note.com/img/1694724426212-4REnwG4VhN.png)
3つのウィジェットの設定が完了!キャンバスには、下図のように表示されています。CircleImageの画像は変わりませんが、テキストウィジェットには、紐づいているフィールド名が表示されています!
![](https://assets.st-note.com/img/1694724475952-lNYJhslTLp.png)
これでこのシリーズの一連の設定はすべて終わりました~♪。ここまでたどり着いてよかったですよ~。
はい、本日は、ここまで!今回は、ページウィジェットにバックエンドクエリを設定し、レファレンス先のドキュメントを参照できるようにしてから、ウィジェットとフィールド値を紐づけました。
次回は、いよいよ動作の検証です。うまく、動くかな…。
では、また~。