2012-03-07 65 views
0

我有一個數組中的團隊列表以及他們在另一個數組中的相應團隊成員。
我需要將它們組合在一個數組中,以便在每個組中,相應的組員應該列在單個下拉列表中,其中組員和組員應該可以選擇。的teamlead2
如何在cakephp中將數組分組?

Array 
(
[6] => teammember3 
[7] => teammember4 
) 

teamlead1

Array 
(
    [4] => teammember1 
    [5] => teammember2 
) 

團隊成員陣列的
Teamlead陣列

Array 
(
    [1] => teamlead1 
    [2] => teamlead2 
) 

團隊成員陣列I需要列出它們作爲

[TeamLead1] => Array 
    (
     [0] => Array 
      (
       [1] => TeamLead1 
      ) 
     [1] => Array 
      (
       [4] => teammember1 
       [5] => teammember2 
      ) 

    ) 

[TeamLead2] => Array 
    (
     [0] => Array 
      (
       [2] => TeamLead2 
      ) 
     [1] => Array 
      (
       [6] => teammember3 
       [7] => teammember4 
      ) 

    ) 

請幫我解決這個問題。

回答

0

讓您的數組作爲一個列表:

$this->set('teams', $this->TeamMembers->find('list')); 

然後在表格,您可以設置的選項:

$this->Form->input('team_member', array('options' => $teams)); 

UPDATE 您需要的JavaScript/CSS來操作選擇欄爲了做你在問什麼。您目前所設置的標籤都不會得到您正在尋找的答案。這不能用普通的HTML/PHP代碼來完成。

+0

它只會在下拉菜單中顯示團隊成員,對吧?但我想列出以相應團隊領導爲首的團隊成員。 – saran 2012-03-07 09:04:53

0

遵循CakePHP的約定,你不會有這個問題。

如果查詢TeamLead-> find()和TeamLead hasAndBelongsToMany或hasMany TeamMember,則返回的數組結構將包含您需要的所有內容,並且可以以視圖中的FormHelper方法使用。