2012-05-09 2 views
0

데이터 :CakePHP의 autopopulating하지

Array (
    [0] => Array (
      [EventoObreiro] => Array (
        [id] => 1 
        [evento_id] => 2 
        [obreiro_id] => 5 
       ) 
     ) 
    [1] => Array (
      [EventoObreiro] => Array (
        [id] => 2 
        [evento_id] => 2 
        [obreiro_id] => 3 
       ) 
     ) 
) 

HTML 형태 :

<?php echo $this->Form->create('EventoObreiro', array('url' => '/eventos/presenca/' . $evento['Evento']['id'])); ?> 
    <?php if(count($obreiros) > 0) { ?> 
     <?php foreach($obreiros as $k => $obreiro) { ?> 
      <?php echo($obreiro['Usuario']['nome']); ?> 
      <?php echo($this->Form->input('EventoObreiro.' . $k . '.obreiro_id', array('type' => 'hidden', 'value' => $obreiro['Obreiro']['id']))); ?> 
      <?php echo($this->Form->input('EventoObreiro.' . $k . '.evento_id', array('type' => 'radio', 'legend' => false, 'options' => array('1' => 'Sim', '0' => 'Não')))); ?> 
     <?php } ?> 
    <?php } ?> 

    <?php echo $form->button('Salvar presença', array('type' => 'submit', 'class' => 'button', 'name' => 'botaoAdicionar')); ?> 
<?php $this->Form->end(); ?> 

$obreiros$this->set('obreiros', $this->Obreiro->find('all'));

에서 설정하지만 내 양식이 자동으로 채워 아니다. 내가 어떻게 할 수 있니?

답변

2

이 잘못 여러 가지가있을 수 있습니다, 그것은 당신의 코드에서 명확하지 않지만 다음에 보면 :

  1. $this->EventoObreiro->find('all');의 정보가 실제로보기로 전송되어 있는지 확인합니다. <?php echo debug($obreiros); ?>을 사용하면됩니다. 당신이 당신의 컨트롤러 코드를 확인해야 전송되지 않는 경우 [어쩌면 당신의 게시물을 편집하고 명확성을 위해 추가합니다.]

  2. 내가 어쩌면 $obreiro['Usuario']['key']

    대신 $obreiro['EventoObreiro']['key']를 사용해보십시오 어레이의 모든 사용자 선호도 표시되지 않습니다
+0

내 질문을 업데이트합니다 이, 더 많은 모델이 –

+0

문제 발견 .. 관련 한 모델에는없는 관계, 롤 .. –

+0

가 순환이 잘 설정된 경우 그래서, 협회가 배열에 표시되어 있어야합니다 보였다. 행운을 빕니다! –