sql >> Database >  >> RDS >> Mysql

Meerdere relaties met hetzelfde model CakePHP

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.




  1. Een nieuwe database en nieuwe verbinding maken in Oracle SQL Developer

  2. UUID-prestaties in MySQL?

  3. Ik krijg steeds de foutrelatie [TABEL] bestaat niet

  4. Fout:time-out voor handshake-inactiviteit in de Node.js MYSQL-module