2016-07-14 83 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 
)