Mysql
 sql >> Database >  >> RDS >> Mysql

Più relazioni con lo stesso modello CakePHP

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.