Non penso che tu abbia bisogno di una tabella di unione per fatture, mittenti e destinatari. Puoi memorizzare queste chiavi esterne nella tabella delle fatture. Le tue relazioni sarebbero quindi:
<?php
class Invoice extends AppModel {
public $belongsTo = array(
'Sender' => array(
'className' => 'Account',
'foreignKey' => 'sender_id'
),
'Receiver' => array(
'className' => 'Account',
'foreignKey' => 'receiver_id'
)
);
}
Se poi hai bisogno di distinguere le fatture che sono state inviate o meno, puoi anche aggiungere una colonna chiamata status_id
o simili e salva un'altra chiave esterna in un nuovo statuses
tabella, con una colonna ID e una colonna nome e i seguenti dati di esempio:
id name
== ====
1 Draft
2 Sent
E qualsiasi altro stato di cui potresti aver bisogno.