0

からのデータ$this->EventoObreiro->find('all');

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'));

しかし、私のフォームは自動入力されません。どうすればこれを行うことができますか?

4

1 に答える 1

2

これには多くの問題がある可能性があります。コードからは明らかではありませんが、次を調べてください。

  1. $this->EventoObreiro->find('all');からの情報が実際にビューに送信されていることを確認してください。を使用してこれを行うことができます<?php echo debug($obreiros); ?>。送信されない場合は、コントローラーのコードを確認する必要があります [わかりやすくするために、投稿を編集して追加することもできます]。

  2. あなたの配列にUsuarioが表示されないので、$obreiro['EventoObreiro']['key']代わりに使用してみてください$obreiro['Usuario']['key']

于 2012-05-09T18:35:39.383 に答える