Saya tidak berpikir Anda memerlukan tabel gabungan untuk faktur, dan pengirim dan penerima. Anda dapat menyimpan kunci asing ini di tabel faktur Anda. Hubungan Anda akan menjadi:
<?php
class Invoice extends AppModel {
public $belongsTo = array(
'Sender' => array(
'className' => 'Account',
'foreignKey' => 'sender_id'
),
'Receiver' => array(
'className' => 'Account',
'foreignKey' => 'receiver_id'
)
);
}
Jika nanti Anda perlu membedakan invoice yang sudah terkirim atau belum, Anda juga bisa menambahkan kolom bernama status_id
atau serupa, dan simpan kunci asing lain ke statuses
baru tabel, dengan kolom ID dan kolom nama, dan contoh data berikut:
id name
== ====
1 Draft
2 Sent
Dan status lain yang mungkin Anda perlukan.