Как сгруппировать значения в массиве в cakephp? - PullRequest
0 голосов
/ 07 марта 2012

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

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
            )

    )

Пожалуйста, помогите мне в этом.

Ответы [ 2 ]

0 голосов
/ 07 марта 2012

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

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

0 голосов
/ 07 марта 2012

Получите ваши массивы в виде списка:

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

Затем в форме вы можете установить параметры:

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

ОБНОВЛЕНИЕ Вам потребуется javascript /CSS, чтобы манипулировать полем выбора, чтобы сделать то, что вы просите.Ни один из заданных вами тегов не получит ответ, который вы ищете.Это невозможно сделать с помощью обычного кода HTML / PHP.

...