Я использую Cakephp 2.X версию
Я собираюсь запустить sql как:
SELECT field1, field2, field3, field3,
( IF(LOCATE('abc', field1), 4, 0) + IF(LOCATE('abc', field2), 3, 0) + IF(LOCATE('abc', field3), 2, 0) ) AS score
FROM sometable
WHERE ( (field1 LIKE '%abc%') OR (field2 LIKE '%abc%') OR (field3 LIKE '%abc%') )
ORDER BY score DESC
этот sql генерируется кодом динамически. Таким образом, этот sql нужно передать в функцию paginate (), чтобы сделать нумерацию с помощью cakephp. Похоже, что функция разбивки на страницы CakePHP недостаточно гибкая, чтобы справляться со сложными SQL.
Чтобы выполнить этот сложный sql, Как я могу переопределить paginate (), чтобы разбить на страницы мой результат?
Описание:
Я пытаюсь сделать пользовательский запрос нумерации страниц. Контроллер получает ключевые слова и генерирует SQL, я хочу передать строку SQL в функцию public function paginate(Model $model, $conditions, $fields, $order, $limi ...)
, которая переопределена в Model для запуска этого пользовательского запроса. Как я могу передать строку SQL в функцию paginate.
Любое предложение или подсказка, пожалуйста?