CakePhp 协会有许多

CakePhp association hasMany

首先,我知道有很多像我这样的问题,但是我测试了很多解决方案,阅读了文档但我的问题没有得到解决。

我正在使用 Cakephp 2.x

我有 2 个表 users 和 phone_numbers

    CREATE TABLE `users` (
    `id` varchar(32) NOT NULL,
    `user_group_id` int(11) unsigned DEFAULT NULL,
    `username` varchar(100) DEFAULT NULL,
    `password` varchar(255) DEFAULT NULL,
    `salt` text,
    `email` varchar(100) DEFAULT NULL,
    `first_name` varchar(100) DEFAULT NULL,
    `last_name` varchar(100) DEFAULT NULL,
    `created` datetime DEFAULT NULL,
    `modified` datetime DEFAULT NULL,
    PRIMARY KEY (`id`),
    KEY `user` (`username`),
    KEY `mail` (`email`),
    KEY `users_FKIndex1` (`user_group_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    CREATE TABLE `phonenumbers` (
    `id` varchar(32) NOT NULL,
    `user_id` varchar(32) NOT NULL,
    `phoneNumber` varchar(64) NOT NULL,
    `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    CONSTRAINT `fk_phonenumbers_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)   
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在我的模型用户中,我得到:

     var $hasMany = array(
    'LoginToken' => array('className' => 'Usermgmt.LoginToken', 'limit' => 1),
    'PhoneNumber' => array('className' => 'PhoneNumber'),
    );

在我的模型 PhoneNumber 中,我得到:

    var $belongsTo = 'Usermgmt.User';

当我尝试 select 我的用户时,我的模型之间没有 link

    $this->User->find('all');
    array(
       (int) 0 => array(
          'User' => array(
              'password' => '*****',
              'id' => '1',
              'user_group_id' => '1',
              'username' => 'admin',
              'salt' => '',
              'email' => 'admin@admin.com',
              'first_name' => 'Admin',
              'last_name' => '',
              'created' => '2016-03-16 13:49:49',
              'Modified' => '2016-03-21 13:04:26',
           )
        ),
               (int) 1 => array(

        ..........

我做错了什么?我需要找到这样的东西

       array("User"=>array(my data),
             "PhoneNumber"=>array(my data)
            )

感谢您的帮助。

将此添加到 model/User。php 希望有用

public $hasMany = array(
    'Phonenumber' => array(
    'className' => 'Phonenumber',
    'foreignKey' => 'user_id',
    'conditions' => array('Phonenumber.user_id' => 'User.id'),
    'dependent' => true
)

在型号 PhoneNumber 中使用

var name='PhoneNumber';
$belongsTo = 'User';

在模型用户中

var name='User';
$hasMany='PhoneNumber';