2012-03-07 4 views
0

У меня есть список teamleads в массиве и их соответствующие члены команды в другом массиве.
Мне нужно сгруппировать их в массив, чтобы под каждой командой команды соответствующие члены команды должны были быть перечислены в одном выпадающем меню, где должны быть доступны команды и члены команды.
Teamlead массив
Как группировать значения в массиве в cakephp?

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

Член команды массив teamlead1

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

членов команды массива teamlead2

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

Мне нужно перечислить их в качестве

[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

0

Следуйте соглашениям CakePHP, и у вас не будет этой проблемы.

Если вы запрашиваете TeamLead-> find() и TeamLead hasAndBelongsToMany или hasMany TeamMember, то возвращаемая структура массива будет содержать все, что вам нужно, и способ, который вы можете использовать с методами FormHelper в представлениях.

Смежные вопросы