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

Lấy dữ liệu từ hai bảng được liên kết với khóa forign trong CakePhp

Trước hết, cấu trúc bảng của bạn phải như dưới đây.

Bảng đăng nhập
logins Table.
  Id auto_increment
  username
  password
Bảng
userDetails Table.
  Id auto_increment
  user_id
  name
  address
  etc...

Bây giờ, mô hình cho mỗi bảng sẽ là.

Đăng nhập

<?php
class Login extends AppModel
{
    var $name = 'User';

    var $hasMany = array
    (
        'UserDetail' => array
        (
            'className' => 'UserDetail',
            'foreignKey' => 'user_id',
            'dependent' => false,
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'exclusive' => '',
            'finderQuery' => '',
            'counterQuery' => ''
        )
}
?>

Chi tiết người dùng

<?php
class UserDetail extends AppModel
{
    var $name = 'UserDetail';

    var $belongsTo = array
    (
        'User' => array
        (
            'className' => 'User',
            'foreignKey' => 'user_id',
            'dependent' => false,
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => ''
        )
}
?>

Và cuối cùng trong bộ điều khiển nơi bạn cần tìm nạp chi tiết đăng nhập.

$login_detail = $this->Login->find('all');

Bạn sẽ thấy các bản ghi bảng userDetail dẫn đến $login_detail . sử dụng

pr($login_detail);
trong bộ điều khiển để xem nó hoạt động.

Chúc mừng. Cảm thấy thoải mái khi hỏi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn các mục vào trình đơn thả xuống bootstrap từ Bảng SQL

  2. Cách xử lý Máy chủ MySQL đang chạy với tùy chọn --secure-file-priv nên nó không thể thực thi câu lệnh này trên máy Mac

  3. Truy vấn MySQL sử dụng CASE để CHỌN nhiều cột

  4. Lỗi mysqldump 1045 Quyền truy cập bị từ chối mặc dù mật khẩu chính xác, v.v.

  5. chèn truy vấn bằng ajax mà không cần tải lại toàn bộ trang