2013-05-19 5 views
0

드롭 다운에 관한 모든 답변을 읽고 적용한 후에도 여전히 드롭 다운에 결과가 없습니다. 인스턴트 메신저와 정말이 문제를 해결할 두통을 준다. belongsTo Client_Group 테이블과 연결된 클라이언트 테이블이 있습니다. 명명 규칙을 변경 한 코드가 무엇이든 CLIENT GROUP의 데이터를 내 드롭 다운 목록에 계속 표시 할 수 없습니다. 도와주세요! 도와주세요! 클라이언트 컨트롤러에서 사전Cakephp 2.0 드롭 다운 선택

CREATE TABLE `clients` (
    `id` int UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    `client_group_id` int , 
    `client_package_id` int , 
    `client_account_id` int , 
    `name` VARCHAR(40), 

CREATE TABLE `client_groups` (
    `id` INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    `name` VARCHAR(50), 

    INSERT INTO `client_groups` (`id`,`name`) VALUES (1,'Top Company Holdings'); 
    INSERT INTO `client_groups` (`id`,`name`) VALUES (2,'Cadiz Group of Companies'); 

In CLient Model: 

    public $belongsTo = array(
     'ClientGroup' => array(
      'className' => 'ClientGroup', 
      'foreignKey' => 'client_group_id' , 
      'fields'  => 'name' 
      ), 

Client Group Model: 
    public $hasMany = array(  
     'Client' => array(
      'className'  => 'Client', 
      'foreignKey' => 'client_group_id', 
      'order'   => 'Client.name DESC') 

에 감사 : $ clientgroups = $ this-> 클라이언트 -> ClientGroup-> ('목록', 배열 ('유형'=> '선택', '필드'= 찾을 > array ('id', 'name'), 'order'=> 배열 ('name'=> 'ASC')))); $ this-> set (compact ('clientgroups'));

In Client Add.ctp : 
    <?php echo $this->Form->input('client_group_id',array('option'=>$clientgroups , 
       'type'=>'select', 'empty'=>'Select Group')); 
    ?> 

답변

1

낙타의 경우 변수를 설정해 보셨습니까? $clientGroups'clientGroups'? 그것이 올바른 명명 규칙입니다.

+0

Dave, 작동합니다! 신속한 답변과 올바른 해결책을 주셔서 대단히 감사드립니다. 나는 2 일 동안해야 할 일을 알아 내야했다. 이제 ican은 내 프로젝트의 다음 단계로 넘어갑니다. 고마워요. –

+1

문제 없습니다. 이 질문에 대한 답변이있는 경우 다른 사람이 문제를 파악하는 데 시간을 할애하지 않도록 확인 표시 (체크 표시)로 표시해야합니다. 행복한 코딩. – Dave

0

이 대회는이 미친 !! 이런 식으로 노력해, 알았지? ;)

CREATE TABLE `clients` (
    `id` int UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    `group_id` int , 
    `package_id` int , 
    `account_id` int , 
    `name` VARCHAR(40) 
) 

CREATE TABLE `groups` (
    `id` INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    `name` VARCHAR(50) 
) 

INSERT INTO `groups` (`id`,`name`) VALUES (
1,'Top Company Holdings' 
); 
INSERT INTO `groups` (`id`,`name`) VALUES (
2,'Cadiz Group of Companies' 
); 

In CLient Model: 

public $belongsTo = array(
    'Group' => array(
     'className' => 'Group', 
     'foreignKey' => 'group_id' 
    ) 
); 

In your Cliente controller 

public function myFunction() 
{ 
... 
$groups = $this->Cliente->Group->find('list'); 
$this->set(compact('groups')); 
... 
} 

In your view 
echo $this->Form->input('group_id'); 
+0

도움을 주신 윌리엄에게 감사드립니다. 작동하고 모든 것이 원활하게 실행됩니다. –

2

belongsTO Client_Group 테이블과 연결된 클라이언트 테이블이 있습니다. CLIENT GROUP의 데이터를 내 드롭 다운 목록에 표시하려고합니다.

$ clientGroup = $ this-> 클라이언트 모델 -> 클라이언트 그룹 모델 -> 찾기 ('목록'); $ this-> set (compact ('clientGroup'));

와 CTP 페이지

는이

는 $ this-> 서식 -> 입력 ('client_group_id')를 에코 할;