複数のユーザー用Data Typeを作成する方法

現在、専門的な分野の知恵袋のようなシステムを作成しております。

User type にフィールドを作成しyes/no の設定を利用すれば
比較的簡単にできることは理解できたのですが
「回答者」だけのコミュニティを将来的に実装したいと思っており
先のことを考えると、しっかりと「質問者」と「回答者」と
ユーザーのタイプを分けたいと考えております。

しかし、いくつか見つけた英語版のフォーラムの説明を
実施しようとしてもなかなかうまく行きません。

これを実現するためにはどのようにデータベースを設計し
各フィールドを設定すれば良いのでしょうか?

もしくはそもそも無理なのでしょうか?

もしわかる方がいれば教えて頂けますと幸いです。

データベースの構造化についてのご質問ですね。

すぐに思いつくアプローチとしては…

  • 質問回答リスト(例)というDataTypeを別途用意して、そこにFieldとして質問文、質問者、回答文、回答者、日時などを加えていきます。
  • 質問者、回答者はUserから引っ張ってくるので、FieldTypeをUserにします。

また、上記は「質問者、回答者」という2つのフィールドのどちらかにUserが入る前提ですが、「ユーザー」という1つのフィールドにして、別途「タイプ」というフィールドを用意して、区別するアプローチもあります。この方法の場合、「タイプ」をOptionSetsに作って「質問者」、「回答者」というOptionを設定して、それを「タイプ」のフィールドにするのが一番すっきりします。

bubbleは複雑なデータベースも簡単に作れるようにかなり洗練されています。私は出来ないことはないぐらいに思っています。Twitterクローン、AirB クローンなどを実際に作ってみると、かなり早い段階で腹落ちしますよ。お勧めです。

いつもありがとうございます!

自分の知識と理解力がないせいで
教えていただいた方法でもなかなかうまく
行きませんでした。

もう少しデータベースの勉強してみます。

Twitter とAirbnbのクローンやってみました。
他のクローンも勉強としてやってみます!

うまくいかない点はどんな点ですか?少し具体的に示していただければ助けになるかもです。

ご丁寧にありがとうございます。
教えて頂いたデータベースの組み方はこれであってると思うのですが



ここから、回答者というTypeを作成してそこに
User(質問者)とは分けてData(名前やメールアドレス、住所など)
の保存はできますか?

そもそもそんなことせずに
User(質問者)にまとめて格納した方が
いいのでしょうか?

理想としては
回答者
User(質問者)
それぞれのTypeがあり
各々に応じたFieldが格納されるようにしたいのですが。

全くデータベースに関する知識も
経験もないので、そもそも質問が的外れかもしれません。
すいません。

「質問回答リスト」に全ての質問と回答がたまり、出力されるのは、質問内容と質問者の名前、そして続いて回答と回答者名が複数連なるイメージを持ってました。ですので「質問回答リスト」をRepeatingGroupとして条件分岐をうまく使ってデータの表示を制御するイメージです。その前提ですが…

  • タイプは「質問回答リスト」に入ります。今はユーザーに入っています。
  • 「ユーザー」には”ユーザーに関する情報(Field)だけ”を加える

ユーザーを回答と質問者に分けるのは、「質問回答リスト」で行うので、ユーザーに名前やアドレスなどのフィールドを保存するのが適当に思えます。

このイメージで質問と回答のRGはどうなりますか?一般論として、一つのDataTypeに目的外のデータを加えるのは良くないですね。

データベースを組むとき、最終的なUIを一緒に考える必要があります。何かボタンを押したときに、複数のDataTypeからデータを引っ張ってきて、データを出力することが多いです。一つの巨大なDataTypeとするより目的や機能で分けるというのが、私の提案です。

実際にサンプルでデータを入れて行って、RGを作って出力されてみてください。データの制御が微妙にできない段階まできたら、あとは試行錯誤で何とかなりますので…

ご丁寧にお答えいただき
ありがとうございます!

教えて頂いた内容で
できるところまでやってみます^_^