Проблема разбивки на рамки Yii с MySQL FOUND_ROWS - PullRequest
3 голосов
/ 24 декабря 2010

Я пытаюсь включить нумерацию страниц в результатах поиска с помощью Yii. У меня есть страницы, работающие на страницах записей просмотра, но по какой-то причине у меня возникают проблемы с его работой в поиске.

Пока у меня есть следующий SQL для получения результатов поиска:

SELECT SQL_CALC_FOUND_ROWS DISTINCT user.id FROM user, personal_info WHERE (personal_info.bio LIKE '%a%' ) AND personal_info.user_id = user.id AND user.role = 'F' LIMIT 0, 8;

Что передается ActiveRecord следующим образом:

$results = $this->findAllBySql($sql);

Сразу после этого я запускаю этот код:

$rows = $this->findBySql("SELECT FOUND_ROWS() as row_count;");  
echo $rows->row_count;

Странно, я получаю следующую ошибку при попытке выполнить вышеуказанный код:

Свойство "Search.row_count" не определено.

По какой-то причине Yii не может получить значение FOUND_ROWS из MySQL.

У меня на странице просмотра записей почти одинаковый код PHP (но другой SQL), и он отлично работает. Не уверен, почему в этой ситуации Yii не может получить значение FOUND_ROWS. Я попытался запустить этот код непосредственно внутри MySQL, чтобы увидеть, было ли что-то не так с моим SQL, но он без проблем получает значение FOUND_ROWS - эта проблема возникает, только когда я пытаюсь сделать это внутри Yii.

Есть идеи, что я, возможно, делаю неправильно?

Большое спасибо!

1 Ответ

0 голосов
/ 24 декабря 2010

Оказывается, мне нужно было определить $ row_count внутри модели, прежде чем она распознала бы ее как переменную, на которую я могу ссылаться.

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