データの紐づけをしている他のテーブルに登録されている画像の表示

ご教示頂けましたら大変助かります。
テーブルAとBがあり、データの紐づけしてます。
両テーブルには共通項目αがあり、テーブルBにはαに関する画像を格納しています。

テーブルAをカードで表示し、選択したレコードを新規画面で表示させます。
その際に、テーブルBの該当する画像を表示させたいです。

画像のエレメント「画像ソース」に「Current テーブルA > 紐づけテーブルB > 画像」と設定してみましたが、画像が表示されません。
設定を誤っておりましたらご指摘いただけますでしょうか。

どうぞよろしくお願いいたします。

回答になってないので流し読みして下さい。うまく行かない理由はデータを特定する条件が抜けているからだと思います。

「画像ソース」に「Current テーブルA > 紐づけテーブルB > 画像」と設定してみました

ここまではOKです。例えば、世界旅行に関する投稿でテーブルAには国名が、テーブルBには国名という共通項目の他に画像があるようなものをイメージして下さい。テーブルAに今、フランスという項目を入力したとします。テーブルBにもフランスという共通の項目があってエッフェル塔の画像をリレーションで持ってきたいとします。

しかし、Clickは「Current テーブルA > 紐づけテーブルB > 画像」の条件だけでは「エッフェル塔の画像」にたどり着けないのです。

自分はClickでリレーションを使ったDBを作ったことが無かったのでさっきやってみたのですが、絞り込み条件が見つかりませんでした。ただ、ログインしたユーザーをリレーションを使って表示するような場合であればすぐデータを表示できます。なぜなら対象となるデータが1つしか存在しないのでデータのある場所さえ指定すれば迷わずClickはデータを持ってきます。

他のNoCodeでやると条件の絞り込みで以下のような設定が出てくるのですがClickの場合どうやるのか分かりません。
テーブルB > 共通項目
is equal to
テーブルA > 共通項目(※内容は一緒でも共通項目の表現の仕方は違うかもしれません)

(その他)
テーブルAを開けて見て下さい。リレーションを設定していてもどのデータとどのデータを結び付けるという条件設定がなされてないのでリレーションの項目が空欄になっていると思います。ここを手動で「どのデータと結びつけるか」をやってあげると画像は出てきます。しかし、これを手動でやったのでは意味がありません。ここを自動でやりたいわけですよね。

@0941さん、いつもありがとうございます。
ご指摘の通りで、具体的なデータのリレーションを指定できないために、うまくいかないと思っています。この辺り、解決方法はないのでしょうかね。
とりあえずの回避策として、テーブルAにデータを登録するときに、選択した共通項目から、テーブルBの画像をテーブルAに自動で登録するようにし、新規画面においてはすべてテーブルAの情報を表示するようにしました。

参考になるかわかりませんが、上記回避策の詳細を備忘的に記載しておきたいと思います。
@nocodejapanさんには是非根本的な解決策をご教示頂けましたら幸甚です。

回避策の詳細は以下の通りです。
前提ですが、例えばテーブルBには「球団名」(テキスト)と「球団シンボル」(画像)を12球団分あらかじめ名称と画像を用意しています。
テーブルAは新規にデータを登録していくテーブルですが、B同様に「球団名」(テキスト)と「球団シンボル」(画像)の箱を用意しました。
その上でテーブルAとテーブルBをA:B=多:1で「テータの紐づけ設定」をしています。
さて、新規データの登録画面ですが、登録項目の一つをプルダウンでテーブルBの「球団名」を選択できるようにしてあります。(画面上は「球団シンボル」の項目はありません)
同画面に登録ボタンを配し、登録画面のボタンのClickFlowで、「作成」>「データベースA」とします。
その中の「球団名」は「テーブルB>球団名」、「球団シンボル」に「テーブルB>球団シンボル」としましたところ、登録画面で選択した球団名に合致した球団シンボルの画像が自動で引っ張ってこられて、テーブルAに登録されました。

ご参考になるかわかりませんが、よろしくお願いいたします。

@Uske
ご連絡ありがとうございます。
テーブルの紐付けを行なった際の画像表示ですが、こちらの方法でできませんでしょうか?(おそらく上記回避策と同じやり方になると思います。)

前提条件

ユーザーが好きな球団を1つ登録し、球団に紐づく画像を表示できるようにする。

方法

1、球団テーブルを作成して、画像項目を作成する
2、Userテーブルと球団テーブルの紐付けを行う。下記を選択。好きな球団として登録する。

球団 は複数の Users を保有します。
User は1つの 球団 にしか属しません。

3、ログイン後のホーム画面にリストを追加。データはUserテーブルから取得する。ClickFlowで詳細ページに移動させる
4、詳細ページで、画像エレメントを追加。画像ソースでは データベース>Current User>好きな球団>image を選択。→この設定でUserテーブルに紐づく球団の画像が取得できます。
5、ホームに戻り、追加ボタンを選択し、ClickFlowで登録ページに移動
6、登録ページで、ドロップダウンを追加。データベースの選択から、球団テーブルを選択。
7、登録ページで、ボタンを追加。ClickFlowでログインユーザーの更新を選択。ユーザーテーブルの項目から、紐付けしている好きな球団を選択し、More>Logged In User>Form Inputs > Dropdown DB > Selected 球団 を選択->この操作で、ログインユーザーに紐づく、画像含めた好きな球団情報を登録することが可能です。

実際の流れを下記に記載したのでお手隙の際にご確認いただけたらと思います。
また、やりたいことと認識が異なっていましたら教えてください。

Image from Gyazo

@nocodejapanさま、
大変丁寧にご教示頂きましてありがとうございました。
次の週末に確認してみたいと思います。
取り急ぎのお礼で恐縮ですが、引き続きよろしくお願いいたします。

1 Like