I would use string array keys:

        public $filterArgs = array(
            'name' => array('type' => 'query', 'method' => 'filterName'),
        );

but both ways should work

PS: echo $this->Form->create('Patient') is enough, as it automatically 
posts to itself



Am Montag, 15. April 2013 07:44:40 UTC+2 schrieb Muhammad Asyraf:
>
> Actually i already Google several search plugin for CakePHP but most of 
> CakePHP user recommended search plugin from CakeDC. So, i download the 
> plugin from https://github.com/dereuromark/search and load the plugin 
> with code: CakePlugin::load('Search'); in bootstrap.php
>
> Then i implement the code for my file controller:
>
> public $components = array('Search.Prg');
> public $presetVars = true; // using the model configuration
> public function find() {
>         $this->Prg->commonProcess();
>         $this->paginate['conditions'] = 
> $this->Patient->parseCriteria($this->passedArgs);
>         $this->set('patients', $this->paginate());
>     }
> *
> *
> *
> *
> For the model, i put this code:
>
> public $actsAs = array('Search.Searchable');
>         public $filterArgs = array(
>             array('name' => 'name', 'type' => 'query', 'method' => 
> 'filterName'),
>         );
>
>         public function filterName($data, $field = null) {
>             if (empty($data['name'])) {
>                 return array();
>             }
>             $nameField = '%' . $data['name'] . '%';
>             return array(
>                 'OR' => array(
>                     $this->alias . '.name LIKE' => $nameField,
>                     ));
>         }
>
> For the view (find.ctp), i put this code for the form: (others code are 
> exactly same as view/index.ctp)
>
> <div><?php
> echo $this->Form->create('Patient', array(
> 'url' => array_merge(array('action' => 'find'), $this->params['pass'])
> ));
> echo $this->Form->input('name', array('div' => false));
> echo $this->Form->submit(__('Search'), array('div' => false));
> echo $this->Form->end();
> ?></div>
>
>
> What i try to achieve is the search plugin will do searching for "name" 
> from table patients. However, this code seems not working but in the URL, 
> once i do searching for example i "John" as the search term, the URL bar 
> show as patients/find/name:john but the list of record are not showing john 
> record only but still show all records instead of john only. 
>
> As for the information i use CakePHP ver: 2.3.1. Is it any problem with 
> the codes or any depreciate attributes in the coding? Sorry if this 
> question repeated in this group but i still unable to find any solution. 
> Most of the user claimed that it is easy to use this plugin but i'm still 
> new in CakePHP. Hope someone can help me. 
>
> Thanks :)
>
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to