2012-03-07 125 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方法使用。