Custom CakePHP order by clause for jQuery autocomplete

adeliaJavefab

New Member
I have a database of locations the user can select from by typing and autocompletion. In my CakePHP controller, I do this:\[code\] $locations = $this->Location->find('all', array( 'conditions' => array('Location.name like' => '%'.$term.'%'), 'fields' => array('Location.id', 'Location.name', 'Region.name'), 'order' => array( array('Location.name = "'.mysql_real_escape_string($term).'"' => 'desc'), 'Location.name' ), 'limit' => 10, 'recursive' => 1, ));\[/code\]It works perfectly fine, but it feels like a hack, and I'd rather not escape SQL literals myself.The first order by clause is needed since a perfect match might otherwise not make it to the top of the alphabetically sorted list.I considered moving the equality-test into a virtual field, but I don't feel it's a very elegant solution when the $term is dynamic.How do I implement this in a better way?
 
Back
Top