2017-07-10 23 views
1

私のプロジェクトでは、ゲストユーザは2つの方法で組織に寄付することができます。は、決済、固定決済、生支払の記録を保持したい

1.organizationは、「x」目的のために寄付を寄付しました。 と固定金額を支払うことになりました。たとえば、Rs.150です。 この場合、寄付のリストが存在します。ユーザーは1つまたは複数の寄付を選択して を支払うことができます。 2.ユーザーは組織に寄付金として任意の金額を支払うことができます。

固定募金と生の募金の両方について、支払い記録を維持したいと考えています。

fixed_donations table 
--------------- 
id pk 
organisation_id fk 
donation_name varchar(250) 
description text 
price decimal(10,2) 


payments table 
-------------- 
id pk 
payment_id int(10) 
donation_type enum('fixed','raw') 
organisation_id fk 
fixed_donation_id fk 
amount decimal(10,2) 
name varchar(50) 
email varchar(50) 
contact_number int(12) 
date datetime 

生の寄付と固定寄付のために別々の支払いテーブルを維持する必要がある、または私が正しくあなたの質問を理解していれば、支払いを表

+0

これ以上の情報がなければ、この質問を理解することは不可能です。詳細を追加してください。 –

+0

@Neville K質問を更新してください – Shalom

答えて

1

内の両方の寄付金を含めるためのより良い方法があります既知の寄付要求の場合は、寄付要求のない場合はまたはのいずれかです。

これは、リレーショナルモデルの既知の問題の例です。継承に対応するのは難しいです。このトピックにはStack Overflowにたくさんのquestionsがあります。

あなたのケースでは、私は、 "支払い"テーブルがデータベースモデルでいくつかの重要な用途を持っていると思います。あなたは、合計支払い、期間内の支払い、寄付者からの支払いの検索が必要です。だから、私はあなたがそれを持っている限り、 "単一テーブル継承"モデルを使用してそれを維持します。代替案は、作業がはるかに難しくなる可能性があります。

関連する問題