Mysql
 sql >> Base de données >  >> RDS >> Mysql

Plusieurs relations au même modèle CakePHP

Je ne pense pas que vous ayez besoin d'une table de jointure pour les factures, les expéditeurs et les destinataires. Vous pouvez stocker ces clés étrangères dans votre table de factures. Vos relations seraient alors :

<?php
class Invoice extends AppModel {

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

Si vous avez ensuite besoin de distinguer les factures qui ont été envoyées ou non, vous pouvez également ajouter une colonne appelée status_id ou similaire, et stocker une autre clé étrangère dans un nouveau statuses table, avec une colonne d'ID et une colonne de nom, et les exemples de données suivants :

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

Et tout autre statut dont vous pourriez avoir besoin.