我有两个名为login和userDetail的表

                        Login

                        login_id
                        uname
                        pswd
                        userdetail_id


                       userdetails

                          userdetail_id
                          name
                          address
                          email

登录表在userDetail表中包含userdetails\u id。我想从Login表和userDetail表获取所有数据并将其保存到一个变量中
如果有人知道,请回答我。。。。。。

最佳答案

首先,您的表结构必须如下所示。

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');
您将在结果$login_detail中看到userDetail表记录。
使用控制器中的
pr($login_detail);
查看它的运行情况。
干杯。
请随便问。

关于mysql - 从与CakePhp中的外键关联的两个表中检索数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14517134/

10-09 08:51