sql >> Base de Datos >  >> RDS >> Mysql

Múltiples relaciones con el mismo modelo CakePHP

No creo que necesite una tabla de unión para facturas, remitentes y destinatarios. Puede almacenar estas claves externas en su tabla de facturas. Tus relaciones serían entonces:

<?php
class Invoice extends AppModel {

    public $belongsTo = array(
        'Sender' => array(
            'className' => 'Account',
            'foreignKey' => 'sender_id'
        ),
        'Receiver' => array(
            'className' => 'Account',
            'foreignKey' => 'receiver_id'
        )
    );
}

Si luego necesita distinguir las facturas que se han enviado o no, también puede agregar una columna llamada status_id o similar, y almacenar otra clave externa en un nuevo statuses tabla, con una columna de ID y una columna de nombre, y los siguientes datos de muestra:

id name
== ====
1  Draft
2  Sent

Y cualquier otro estado que pueda necesitar.