請求書、送信者、受信者の結合テーブルは必要ないと思います。これらの外部キーは、請求書テーブルに保存できます。その場合、あなたの関係は次のようになります:
<?php
class Invoice extends AppModel {
public $belongsTo = array(
'Sender' => array(
'className' => 'Account',
'foreignKey' => 'sender_id'
),
'Receiver' => array(
'className' => 'Account',
'foreignKey' => 'receiver_id'
)
);
}
送信された請求書と送信されていない請求書を区別する必要がある場合は、status_id
という列を追加することもできます。 または同様のもので、別の外部キーを新しいstatuses
に保存します 表、ID列と名前列、および次のサンプルデータ:
id name
== ====
1 Draft
2 Sent
そして、あなたが必要とするかもしれない他のステータス。