MySQL FOUND_ROWS的Yii框架分页问题

时间:2010-12-24 07:59:26

标签: php yii

我正在尝试使用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无法从MySQL检索FOUND_ROWS值。

我的浏览记录页面中有几乎完全相同的PHP代码(但不同的SQL),它完美无缺。不确定为什么在这种情况下Yii无法检索FOUND_ROWS值。我已经尝试直接在MySQL中运行这段代码来查看我的SQL是否有问题,但它检索FOUND_ROWS值没有任何问题 - 只有在我尝试在Yii中执行时才会出现此问题。

知道我可能做错了吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

事实证明我需要在模型中定义$ row_count才能将其识别为我可以参考的变量。