2012-06-15 3 views
-1

Hie 얘들 아, 다른 배열에있는 diffent 항목을 나열하는 코드가 있는데, 문제는 그 항목을 이제 단일 선택 옵션에 표시하고자하는 것입니다. 현재 내 코드는 select 옵션에 하나의 항목 만 표시합니다. 디버그 할 때 모든 stuff.How는 모든 항목을 표시하는 선택 옵션을 만들 수 있습니다. 배열에는 한 테이블의 데이터가 들어 있습니다.Cakephp : 내 목록을 하나의 목록으로 결합하려면 어떻게해야합니까?

내 코드 내보기에서

$list=$this->ProgrammeChoice->Programme->ProgrammeRequirementsSubject->find('list', 
      array('fields'=> array('programme_code','programme_name'), 
        'conditions'=>array('subject_code'=>$s_code, 
           'compulsory'=>'true'))); 

이며, 선택 옵션의 코드는 하나의 선택 옵션을 보여줍니다

echo $this->Form->select("ProgrammeChoice.programme_code.2",$list); 

입니다,하지만 난 모든 옵션

에 사용할 수있게하려면

좋아요. 배열을 ie $ list로 echo하면 두 개로 나뉘며 그 결과는 다음과 같습니다.

array(
    'BACC' => 'Bachelor of Accountancy' 
) 

array(
    'HEN' => 'Electrical Engineering' 
) 

그러나 나에게 내가 원하는 내가 그것을 어떻게

array(
    'BACC' => 'Bachelor of Accountancy' 
     'HEN' => 'Electrical Engineering' 

    ) 

같은 두 과정에 대해 하나 개의 배열입니다.

+0

정말 구체적이어야합니다. 두 배열을 어떻게 구합니까? 그들은 두 개의 분리 된 테이블의 데이터를 포함하고 있습니까? 같은 테이블에 있지만 다른 데이터를 가지고 있습니까? – geon

+0

ok thanx 정보를 추가했습니다 –

+2

이것은 이상합니다. Cake는 계층 구조 및 관련 모델에서 가장 높은 모델에 대한 데이터를 제공해야합니다. 1 배열을 반환하는 연산으로 2 배열을 얻는 방법은 무엇입니까? 그들은 더 큰 배열에 포함되어 있습니까? – 8vius

답변

0

이 방법이 효과가 있습니까? 서로 다른 배열을 병합하기 위해 몇 줄을 추가했습니다.

$list=$this->ProgrammeChoice->Programme->ProgrammeRequirementsSubject->find('list', 
    array('fields'=> array('programme_code','programme_name'), 
    'conditions'=>array('subject_code'=>$s_code, 
    'compulsory'=>'true'))); 

/* Merge array */ 
$result = array(); 
foreach ($list as $l) { 
    $result = array_merge ($result, $l); 
} 
$list = $result; 

echo $this->Form->select("ProgrammeChoice.programme_code.2",$list); 
+0

이것은 끔찍한 해결책입니다. 배열이 너무 큰 경우이 작업은 매우 오랜 시간이 걸릴 수도 있고 완료조차되지 않을 수도 있습니다. – 8vius

+0

@ 8vius : 선택 상자 용입니다. 크기가 클 경우 전체 UI를 Ajax 및 자동 완성으로 다시 작성해야합니다. – geon

관련 문제