2016-07-14 151 views
0

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

我使用CakePHP的2.x的

我得到2个表用户和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'), 
    ); 

,在我的模型******中国我得到:

var $belongsTo = 'Usermgmt.User'; 

当我尝试选择我的用户,还有我的模型

$this->User->find('all'); 
    array(
     (int) 0 => array(
      'User' => array(
       'password' => '*****', 
       'id' => '1', 
       'user_group_id' => '1', 
       'username' => 'admin', 
       'salt' => '', 
       'email' => '[email protected]', 
       '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) 
      ) 

感谢您的帮助。

回答

1

使用示范******中国

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

,并在模型用户

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

添加到这个模型/ user.php的 希望它会工作

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