見出し画像

ここがポイント!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は、「オフ」
・リスト詳細画面で設置し、リレーションカラムに紐づけるコンポーネントは、リストコンポーネント

それでは、素敵な「リレーションシップ生活😂」を!!!??

では、ビーダゼーン!

※私のやる気アップとブログの品質向上につながりますので、記事が気に入られた方は、「ポチっ」と好きボタンを押してくださったり、フォローいただけますと幸いです🙇。





この記事が気に入ったらサポートをしてみませんか?