Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nhiều quan hệ với cùng một mô hình CakePHP

Tôi không nghĩ rằng bạn cần một bảng kết hợp cho các hóa đơn, người gửi và người nhận. Bạn có thể lưu các khóa ngoại này trong bảng hóa đơn của mình. Các mối quan hệ của bạn khi đó sẽ là:

<?php
class Invoice extends AppModel {

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

Sau đó, nếu bạn cần phân biệt hóa đơn đã được gửi hay chưa, bạn cũng có thể thêm một cột có tên là status_id hoặc tương tự, và lưu trữ một khóa ngoại khác vào một statuses mới bảng, với cột ID và cột tên, và dữ liệu mẫu sau:

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

Và bất kỳ trạng thái nào khác mà bạn có thể cần.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lấy id của hàng đã chèn bằng C #

  2. Cách hiển thị đối chiếu kết nối của bạn trong MySQL

  3. Tôi có nên chuẩn hóa DB của mình hay không?

  4. Cách tốt nhất để lưu trữ giờ làm việc và truy vấn nó một cách hiệu quả

  5. DataTable với Ajax không hoạt động tốt sau khi sử dụng serverSide:true