私はLaravelプロジェクトを開始しようとしています。まず、共通ユーザーと管理者の2種類のユーザーを用意します。私はちょっと調べて、2つのテーブルを持つことが私の場合の最良の解決策であることを見出しました。一般ユーザーには、管理者に加えてさらにいくつかの列が用意されています。Laravel 5.2の合成?可能?お勧めですか?
users_table
とcommon_users_table
を作成します。管理者はusers_table
に自分のデータを持ち、共通のユーザーはcommon_users_table
の外部キーがusers_table
を参照して、両方のテーブルにデータを分散します。この方法では、列は使用されません。
私の問題は、Laravelでそれを達成する方法がわかりません。 1つのモデルのみを作成する必要がありますか?たぶんhasOneとbelongsTo関係を持つ2つのモデル?しかし、私が登録用紙を作成すると、2つのモデルを一度にどのように登録するのですか?認証はどうですか?非常に多くのことがあり、長期的には何が良いかを判断するためのLaravelの経験がありません。
Laravelの経験が豊富で、このような問題に直面している場合は、この問題に取り組む最も良い方法は何ですか?
ありがとうございます。あなたが活用でき、いくつかの素晴らしい小さなパッケージでもありますACL in Laravelので、これはあなたのユーザーと権限を与えるだろう、
:これが行うには良いことだろうと
に役立つため
申し訳ありませんが、2つのテーブルを持つこと_not_最適なソリューションです良いスターターだけでなく、サイトをあなた上記のリンクを監視するサブスクリプションを必要とするかもしれないが、用語があるかもしれません。モデレータを追加する必要がある場合はどうなりますか? _third_テーブルを作成しますか? 'user_type'カラムを持つ' users'テーブルがあります。ミドルウェアをルート/コントローラに適用して、特定のユーザタイプへのアクセスを制限します。 –
@MartinBeanと同意し、1つのテーブルを使用し、両方のユーザタイプで使用されていないカラムをnullableにする – Birdman