You can get rid of that notice by declaring the $paginate array as a class var:
public $paginate = array(); public $components = ... On Mon, Apr 15, 2013 at 8:22 AM, Muhammad Asyraf <asyraf1...@gmail.com>wrote: > I've made the amendment to the code but still the result are same. no > search result produced and i notice there is warning on top of the page say: > > Notice (8): Indirect modification of overloaded property > PatientsController::$paginate has no effect > [APP\Controller\PatientsController.php, line 14] > > where the code that caused the notice to appear is: > > $this->paginate['conditions'] = > $this->Patient->parseCriteria($this->passedArgs); > > is there any other codes that i've missed? Thanks a lot :) > > > On Monday, 15 April 2013 18:07:18 UTC+8, euromark wrote: >> >> 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<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. > > > -- 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.