0

跟进我之前的问题,我应该将提交的帖子数据作为查询字符串传递,如下所示:

 echo $this->Form->create('Donor',array(
        'url' => array_merge(array('action' =>'find'), $this->params['pass'])
  ));

但是当我在控制器的find操作中尝试以下操作时:

 $this->Paginator->settings['conditions'] = $this->Donor->parseCriteria($this->Prg->parsedParams());

$this->Prg->parsedParams()唯一由以下标准组成:

这是 var_dump

array (size=1)
  'criteria' => string 'blood_group_id' (length=14)

这是我的视图代码:

            <?php
                echo $this->Form->create('Donor',array(
                    'url' => array_merge(array('action' =>'find'), $this->params['pass'])
                ));
                echo $this->Form->input('criteria',array(
                        'label'=>'Search Criteria',
                        'options' => array(
                            'id'=> 'By ID',
                            'name' => 'By Name',
                            'blood_group_id' => 'By Blood Type',
                            'type' => 'By Donor Type',
                            'age' => 'By Age',
                            'gender' => 'By Gender' 
                        )
                    ));
             ?>

                <?php echo $this->Form->input('query', array( 'id' => 'query', 'name' => 'query', 'label' => false, 'placeholder' => 'Search')); ?>
                <?php echo $this->Form->end(__('Search'));?>

我相信我应该收到所有提交的数据,而不仅仅是标准的值。我不知道出了什么问题,坦率地说,这需要花费很多时间来整理。我似乎无法弄清楚如何使用这个插件。只有我吗 ?请,如果有人能找到时间提供帮助,我将不胜感激!

4

1 回答 1

0

答案几乎就在我的眼皮底下。我漫不经心地将“查询”输入命名了两次,

<?php echo $this->Form->input('query', array( 'id' => 'query', 'name' => 'query','label' => false, 'placeholder' => 'Search')); ?>

我删除了“名称”键,一切正常!那是一个愚蠢的错误,这对我来说浪费了大约一个小时,所以我希望这能帮助遇到这种情况的人!谢谢

于 2014-02-10T20:55:17.810 回答