ここがポイント!1対多リレーションシップ【ノーコード・ツールGlide】
テーブル間でリレーションシップを設定し、それに紐づく画面を作り込んでいくときは、どちらのテーブルが「1」なのか、「多」なのかを意識することが大事です。そんな話を、前回記事「リレーション・コンポーネント、どう使うの?」でしました(あ、読んでない😅?こちらもぜひお読みください)。
今回は、この話の延長線として、どちらのテーブルが「1」「多」なのか意識できたとして、「どのようにカラムや、アプリを設定するのか」という話をしましょう😆!
ちなみに、動画でも、リレーション・コンポーネントと、1対多リレーションシップについて、がっつり解説しました~。ぜひ一緒にご確認ください。「リレーション・コンポーネント、使わないと損しますよ」です。(※動画冒頭で、「リスト・コンポーネント」と言っていますが、「リレーション・コンポーネント」の誤りです💦。)
ということで、みなさんがテーブル間の1対多 リレーションシップを組むときに、けっして迷子にならないよう、大事なポイントをご紹介しましょう!。
ここがポイントだ!
では、みなさんがリレーションシップ設定で迷子になる前に、このブログの中でも迷子!?にならぬよう、まず次の絵をご覧ください。これを見ていただくと分かりやすいはず。
さて、この絵を眺めながら解説していきます。
もう悩まない!Match Multiple設定
Glideで「リレーションシップを設定する」とは、「データエディタでリレーションカラムを追加・設定する」ことと同じです。
この「データエディタでリレーションカラムを追加・設定する」ときに、何か悩みませんか!?
「Match Multipleのチェックボックスを、オンにするか、オフにするか、です😭」
分かります。このオプション、、、良くわからないなあ。。。テキトーに決めてもいいのかな、、、てね。はい、テキトーでいい、、、はずがありません😅。
結論を簡単に言うと、オンなのか、オフなのかは、テーブル間の関係性(多重度:1対1、1対多)で決まります。もっとも一般的な「1対多」の場合は、次の通りになります。
●「1」のテーブルでリレーションカラムを設定するときは、Match Multipleを「オン」にします。
「1」のテーブルにある行にとって、リレーションシップの相手は「たくさんの行」になるのですから、「複数の行に一致させる(Match Mulitple)」は「オン」になります。
●「多」のテーブルでリレーションカラムを設定するときは、Match Multipleを「オフ」にします。
「多」のテーブルにある行にとって、リレーションシップの相手は「一つだけの行」になるのですから、「複数の行に一致させる(Match Mulitple)」は「オフ」になります。
言われてみれば、まあそうかな、という結論です。でも、今自分が設定しているテーブルが、「1」なのか、「多」なのかを意識してないと、設定ミスが起こりますね。気をつけましょう😄!
では、今度はアプリビルダー上で、どのコンポーネントを使うかという話です。
リレーションカラムに、「この」コンポーネントを紐づけよう
リレーションカラムを設定したのは、いいけど、結局それをどう生かすのでしょうか?
そう、コンポーネントをリレーションカラムを紐づけて使うんです。使う場所は、「インライン・リストの詳細画面」が基本です。
使うコンポーネントは、次のとおりです。
「1」なら、リスト系の2種類
ポイントは、「1」のテーブルに紐づく画面には、List RelationまたはInline Listコンポーネントを使うといことです。
具体例を見ましょう。
この画面は、「1」のテーブルに紐づいているリストの詳細画面です。ひろしくん(1)は、おやつ(多)をたくさん買いました。使っているコンポーネントは、想像できますか!?
インライン・リストですね!
データソースに、リレーションカラム(マルチ)を設定してあります。
「1」は、これでOKですね。
「多」なら、リレーション・コンポーネント
そして、もう一つのポイントは、「多」のテーブルに紐づく画面には、リレーション・コンポーネントを使うといことです。これは、前回記事でしょうかいしました。
具体例を見ましょう。
この画面は、「多」のテーブルに紐づいているリストの詳細画面です。おやつ(多)を買ったのは、ひろしくん(1)ひとりです。使っているコンポーネントは、想像できますか!?
はい、リレーション・コンポーネントですね。
このコンポーネントをタップすると、次のようにひろし君の詳細ページに遷移します。これで、「1」のテーブルで紐づいている行の詳細が画面に表示できるんです。
以上でコンポーネントの説明は、終わりです。
まとめ
まとめましょう。伝えたかったことは、次に集約されてます。
【1のテーブル】
・リレーションカラムのMatch Mulitipleは、「オン」
・リスト詳細画面で設置し、リレーションカラムに紐づけるコンポーネントは、List Relationまたはinline list
【多のテーブル】
・リレーションカラムのMatch Mulitipleは、「オフ」
・リスト詳細画面で設置し、リレーションカラムに紐づけるコンポーネントは、リストコンポーネント
それでは、素敵な「リレーションシップ生活😂」を!!!??
では、ビーダゼーン!
※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。
この記事が気に入ったらサポートをしてみませんか?