バイヤーとセラーの会社が存在するマルチテナント アプリケーションを作成しようとしていますが、会社を相互に保存して関連付ける方法を見つけるのに苦労しています。これは、単一のデータベースと、すべてのテーブルに「company_id」FK 列を持つ共有テーブルを持つ共有マルチテナント アーキテクチャです。私は PHP と mySQL を使用しており、Eloquent ORM を使用して Laravel 4 フレームワークでこれを作成したいと考えています。私はLaravelが初めてです。
- バイヤーとセラーの両方が多くのユーザーを持つことができます。どちらもアプリケーションにお互いを招待できます。この後、彼らは注文を出し、相手方に請求することができます。
- 両当事者は、招待する前に相手を自分のパートナー リストに追加できます。このようにして、たとえば、売り手は注文を追加し、自分で登録して注文したくない買い手のために請求書を作成できます。
- また、招待されていない購入者が時折おり、アプリケーションに接続され、その特定の販売者のみの製品を一覧表示する販売者のショッピング カート (seller.myapp.com/products) を通じて注文します。したがって、これらの購入者はこの販売者を通じて登録します。
パーティーの保存と関連付けに関して、招待、登録、および手動での会社の追加がどのように連携するのか混乱しています。たとえば、売り手が自分のリストに買い手を追加し、買い手を招待する場合、買い手は、その売りに関連する注文と請求書を表示するために、その特定の売りのアカウントでログインする必要があります。ただし、バイヤーは多くのセラーから追加および招待される可能性があります。これは問題を引き起こします: 買い手は、各売り手のアカウントにログインせずに、これらの異なる売り手からのすべての注文をまとめて見ることができますか?
または、招待後に購入者が新しい別のアカウント (招待者のアカウントではなく) を登録するアプローチを選択した場合、この新しいアカウントを販売者側の会社のデータにどのように関連付けることができますか?
最善のアプローチは何ですか?データベースの構造と、関係がどのように見えるかについて興味があります。これはパーティー モデルに関するものではありません。
ありがとうございました