Jag tror inte att du behöver en sammanfogningstabell för fakturor, och avsändare och mottagare. Du kan lagra dessa främmande nycklar i din fakturatabell. Dina relationer skulle då vara:
<?php
class Invoice extends AppModel {
public $belongsTo = array(
'Sender' => array(
'className' => 'Account',
'foreignKey' => 'sender_id'
),
'Receiver' => array(
'className' => 'Account',
'foreignKey' => 'receiver_id'
)
);
}
Om du sedan behöver särskilja fakturor som har skickats eller inte, kan du också lägga till en kolumn som heter status_id
eller liknande, och lagra en annan främmande nyckel till en ny statuses
tabell, med en ID-kolumn och namnkolumn, och följande exempeldata:
id name
== ====
1 Draft
2 Sent
Och alla andra statusar du kan behöva.