для поиска данных мне нужно использовать бинарное ключевое слово для чувствительного к регистру поиска в mysql это запрос, который я хочу сделать
SELECT username FROM users
WHERE BINARY first_name LIKE 'eph%'
OR BINARY last_name LIKE 'eph%'
OR BINARY username LIKE 'eph%'
и это запрос, который я сделал в cakephp без двоичного
$this->User->find('list', array(
'fields' => array('User.username'),
'conditions' => array("OR" =>
array("BINARY User.last_name LIKE" => $search_data."%","BINARY User.username LIKE" => $search_data."%",
"BINARY User.first_name LIKE" => $search_data."%"))
));
может ли кто-нибудь помочь мне сделать двоичный запрос, используя cakephp api....
Хорошо... ты был почти там. Вам нужно только поставить поле в скобке, чтобы сообщить CakePHP не использовать ключевое слово BINARY в качестве имени поля
Поверьте, это должно работать:
$this->User->find('list', array(
'fields' => array('User.username'),
'conditions' => array(
"OR" =>array(
"BINARY (`User`.`last_name`) LIKE" => $search_data."%",
"BINARY (`User`.`username`) LIKE" => $search_data."%",
"BINARY (`User`.`first_name`) LIKE" => $search_data."%"))
));
BINARY
, чтобы Cake не избежал этого слова.