Ik denk niet dat je een samenvoegtabel nodig hebt voor facturen, en afzenders en ontvangers. U kunt deze buitenlandse sleutels opslaan in uw facturentabel. Uw relaties zouden dan zijn:
<?php
class Invoice extends AppModel {
public $belongsTo = array(
'Sender' => array(
'className' => 'Account',
'foreignKey' => 'sender_id'
),
'Receiver' => array(
'className' => 'Account',
'foreignKey' => 'receiver_id'
)
);
}
Als u vervolgens facturen moet onderscheiden die al dan niet zijn verzonden, kunt u ook een kolom toevoegen met de naam status_id
of iets dergelijks, en sla een andere externe sleutel op in een nieuwe statuses
tabel, met een ID-kolom en naamkolom, en de volgende voorbeeldgegevens:
id name
== ====
1 Draft
2 Sent
En alle andere statussen die u nodig heeft.