CakePHP 1.3 - Использование RLIKE в запросе модели - PullRequest
0 голосов
/ 05 марта 2012

У меня есть следующие условия для модели, которая находит список субъектов:

$subjects = $this->PtlSubject->find('all', array(

    'conditions' => array('PtlSubject.title RLIKE' => '[[:<:]]'.$value),
    'limit' => 6

));

При выполнении запроса я получаю ошибку mysql:

1064: у вас есть ошибка вваш синтаксис SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с '=' [[: <:]] mat 'LIMIT 6' в строке 1 </p>

Есть ли другой способ использовать слово REGEX?границы для запросов MySQL в CakePHP?

Заранее благодарен за любую помощь, очень признателен:)

1 Ответ

2 голосов
/ 05 марта 2012

Я не уверен, знает ли Cake, как бороться с RLIKE.Вы всегда можете передать все условие напрямую, например так:

 'conditions' => "PtlSubject.title RLIKE '[[:<:]]$value'"

Просто убедитесь, что $value правильно экранирован, чтобы избежать инъекции .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...