2

投稿のリストがあり、複数のチェックボックスを使用してそれらを削除したい。私はこのリンクをたどりました Cake php の複数のチェックボックスです が、このエラーが発生します(cakephp 2.4を使用しています):

  1. PostsController::deleteSelect() のビューが見つかりませんでした。

  2. ファイルを作成したことを確認します: C:\xampp\htdocs\cakephp2\app\View\Themed\Cakestrap\Posts\delete_select.ctp

delete_select.ctp からではなく、index.ctp からこのデータにアクセスしたい。私の質問は、このデータ "data['Post']['box'][]" にどのようにアクセスするかです。

私のコードは次のとおりです。

index.ctp

<?php foreach ($posts as $post): ?>
<tr>
    <td><?php echo $post['Post']['id']; ?></td>
    <td>
        <?php echo $this->Html->link($post['Post']['title'], array('action' => 'view', $post['Post']['id'])); ?>
    </td>
    <td>
        <?php echo $post['Post']['created']; ?>
    </td>

    <td>

    <?php echo $this->Form->checkbox('post', 
                                  array(
                                    'value' => $post['Post']['id'],
                                    'name' => "data['Post']['box'][]",
                                   ));?></td>

    <td>

        <?php echo $this->Form->postLink(
            'Delete',
            array('action' => 'delete', $post['Post']['id']),
            array('confirm' => 'Are you sure?'));
        ?>
        <?php echo $this->Html->link('Edit', array('action' => 'edit', $post['Post']['id'])); ?>

    </td>
</tr>
<?php endforeach; ?>
<p><?php echo $this->Html->link('deleteSelect', array('action' => 'deleteSelect')); ?></p>

deleteSelect 関数

    public function deleteSelect(){
if(!empty($this->data)) {
    foreach($this->data['Post']['box'] as $key => $value){

            $this->Post->delete($value);
    }
    $this->redirect(array('action' => 'index'));
}

}
4

4 に答える 4