Mysql
 sql >> база данни >  >> RDS >> Mysql

Извличане на данни от две таблици, които са свързани с външен ключ в CakePhp

Преди всичко структурата на вашата таблица трябва да бъде както е по-долу.

logins Table.
  Id auto_increment
  username
  password
userDetails Table.
  Id auto_increment
  user_id
  name
  address
  etc...

Сега моделът за всяка таблица ще бъде.

Вход

<?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' => ''
        )
}
?>

Подробности за потребителя

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

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

И накрая в контролера, където трябва да извлечете данни за вход.

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

Ще видите записи в таблицата userDetail в резултат $login_detail .използвайте

pr($login_detail);
в контролера, за да го видите в действие.

Наздраве. Чувствайте се свободни да попитате.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да се свържа с отдалечена база данни MySQL чрез SSL с помощта на Play Framework?

  2. MySQL2 Ruby gem няма да инсталира 10.6

  3. MySQL Съхранени процедури

  4. Трябва ли да използвам MyISAM или InnoDB таблици за моята MySQL база данни?

  5. FIND_IN_SET с множество стойности