2013-03-10 32 views
0

我遇到了CakePHP的問題。我測試了很多方法,但找不到解決方案。 我有這些表:如何在manyToMany關聯中獲取用戶數據

用戶

id 
name 
country_code 

國家

code 
title 

技能

code 
title 

角色

id 
title 

事件

id 
title 
country_code 

events_users

event_id 
user_id 
role_id 
skill_code 

事件hasAndBelongsToMany用戶和events_users是我的連接表,當我讀數據時,它給了我這樣的事情:

array(
    (int) 0 => array(
     'Event' => array(
      'id' => '1', 
      'title' => '40th WorldSkills Competitions', 
      'year' => '2011', 
      'country_code' => 'LV', 
      'created' => '2013-02-08 00:00:00' 
     ), 
     'User' => array(
      (int) 0 => array(
       'password' => '*****', 
       'id' => '14', 
       'name' => 'test', 
       'family' => 'testian', 
       'username' => '[email protected]', 
       'country_code' => 'BR', 
       'telphone' => '465465', 
       'avatar' => 'avatar_51299c1da268f20110912043238_rodekamp_04.jpg', 
       'address' => 'AA', 
       'admin' => '0', 
       'created' => '2013-02-24 05:50:37', 
       'modified' => '2013-02-24 05:50:37', 
       'EventsUser' => array(
        'id' => '1', 
        'user_id' => '14', 
        'event_id' => '1', 
        'role_id' => '1', 
        'skill_code' => '17', 
        'manage' => '100' 
       ) 
      ), 
      (int) 1 => array(
       'password' => '*****', 
       'id' => '5', 
       'name' => 'John', 
       'family' => 'Smith', 
       'username' => '[email protected]', 
       'country_code' => 'IE', 
       'telphone' => '147', 
       'avatar' => '20120504124040_franziska_peter_ok.jpg', 
       'address' => 'No 55', 
       'admin' => '0', 
       'created' => '2013-02-10 15:24:13', 
       'modified' => '2013-02-10 15:28:50', 
       'EventsUser' => array(
        'id' => '2', 
        'user_id' => '5', 
        'event_id' => '1', 
        'role_id' => '2', 
        'skill_code' => '17', 
        'manage' => '0' 
       ) 
      ), 
      (int) 2 => array(
       'password' => '*****', 
       'id' => '4', 
       'name' => 'hadi', 
       'family' => 'mm', 
       'username' => '[email protected]', 
       'country_code' => 'AE', 
       'telphone' => '415456', 
       'avatar' => '', 
       'address' => 'sadjfklsaf asd f', 
       'admin' => '0', 
       'created' => '2013-02-10 09:01:28', 
       'modified' => '2013-02-24 06:43:42', 
       'EventsUser' => array(
        'id' => '3', 
        'user_id' => '4', 
        'event_id' => '1', 
        'role_id' => '4', 
        'skill_code' => '17', 
        'manage' => '0' 
       ) 
      ) 
) 

這沒關係,但events_users我想獲得有關的技能和角色是在events_users數據(skill_code和ROLE_ID) 。我應該如何創建模型來給我所有這些數據?

回答

2

我認爲閱讀約"hasMany Through"應該回答你的問題。

基本上,您爲連接表創建模型,然後您可以像關聯任何其他模型一樣將其關聯。

當你去檢索你的數據時,使用CakePHP's Containable behavior(如果你以前沒有使用它,準備好沉迷於它)。