【Glide】2つ先のテーブルも参照できるの?の巻:イベント管理アプリを作ろう!
前回記事からの続きです。
イベント管理アプリを作っています。下図でいうところの、2番のリレーションシップを「参加」テーブル側で設定します。
IDとリレーレションカラムくらいしかなかったテーブルに、どんどんカラム追加される様子をお楽しみください!
※もしデータが欲しい方がいましたら、イベント管理(note1)というテーブルを共有しますので、ごご自由に取得ください。Computed Columnsは、仕様上、共有できませんのであしからず。
生徒テーブルにカラムを一つ追加
「参加」テーブルを更新していくのに先立って、生徒テーブルをちょっと加工します。「学級」というカラムを追加しました。これくらいの基礎情報は必要ですね。
一方、「生年月日」「アレルギー」などの個人情報は、実際のところ、多くの人に利用いただくアプリでは、不必要にテーブルに入れておくのはよくないですね。。。実際に利用するアプリを作るときは、不要な個人情報を載せないようにしましょう。
参照先のデータをどんどん参照しよう
では、「参加」テーブルで、生徒テーブルとのリレーションシップを設定してあるカラムをベースに、生徒テーブルのカラムを参照しにいきますよ!
設定方法は次の通りですが、「イベント」テーブルの場合と同じですので詳しい説明は省略します~。
はい、生徒テーブルから、3つのカラムを参照することができました~。
とりあえず、(個人情報のカラムを除いて)使えそうなデータはこれくらいですかね。。。
いや、ちょっと待て!?
「参照先の参照先からデータを取得できるのか」問題
生徒テーブルは、保護者テーブルを参照していたはずです。下のように。
であるならですよ、「生徒テーブルが参照している保護者のデータを、参加テーブルが参照できるのではないか?」という疑問が生じますね!?
もしかして、2つ先のテーブルのデータまで利用できちゃうんじゃないですかね!?
やってみよう!
生徒テーブルにルックアップを追加
先に、生徒テーブルを加工しなくては。生徒テーブルに移動して、保護者テーブルから、ルックカップカラムを使って3つのカラムを参照します。
具体的には、下の通り、保護者名、保護者メール、保護者画像です。
その上で、「参加」テーブルで、ルックアップカラムを使って、「生徒」テーブルにある「ルックアップ」カラムを参照できればいいんですよね!?
ルックアップがルックアップを参照する。。。できるかな~。
試してみたら、、、できた~。先ほど生徒テーブルに追加した3つのカラムを、さらに「参加」テーブルで参照しました!!
きちんとデータのリレーションを組めているなら、こんなこともできちゃうんですね~。
実際のところ、使うかどうかも分からないカラムを参照するのもナニですが、利用の幅はこれで各段に広がります。
ちなみに、本当はね、「保護者メール」カラムにRow Owner設定できるなら、それを使ってログインユーザーのみに特定のレコードを見せる、、という使い方もできるのですが、Computed ColumnsにはRow Owner設定できない仕様なんですよ~。どうにんかならんかな~。
準備OK!参加テーブル
ということで、現在「参加」テーブルは、こうなりました~。
ルックアップばっかりですね~w。でも、ここまでできればアプリの方で、楽しくいろいろ設定できるはずです。
次回はレイアウトエディタでアプリ側の作り込みをしていきましょう!(イベントテーブルの作り込みが終わってないのですが、データばかりやっているのもつらいので、また、アプリ制作に戻りましょう!)
では、また~。
Glide学ぶなら、Udemy
Glideで急いでアプリを作りたいけど、どうすれば?お気持ち察します。でも、心配いりません!UdemyならGlide初心者向けの動画コースが受講できます。このブログ300記事をベースにして生まれました。期間限定のキャンペーンもあります。気になる方は、チェックしましょう!
この記事が気に入ったらサポートをしてみませんか?