slyjit 2012-12-17 14:36:32 3591次浏览 7条回复 0 0 0
$criteria = new CDbCriteria();
$criteria->select = "t.*,count(answer.id) as total";
$criteria->join = "left join answer on t.id=answer.question_id ";
$criteria->group = "t.id";
$criteria->order = 'total desc';
$this->data['count'] = $this->count($criteria);
$askList = $this->findAll($criteria);

这样查询出的结果按照 total排序了 但查询出数据里没有total,不知道什么原因

  • 回复于 2012-12-18 09:25 举报

    打印出来SQL看一下,应该有的。
    在Model里应该是没有的,因为total不属于Model的属性。

  • 回复于 2012-12-18 09:40 举报

    嗯 打印的sql是有的 。是在 attributeLabels 方法里加入total ,才能使total变成model属性嘛?我在 attributeLabels 方法里加入了total 不起作用,还是查不到。

  • 回复于 2012-12-18 12:34 举报

    建议使用createCommand 自己写sql语句吧 应该没问题

  • 回复于 2012-12-19 09:01 举报

    看一下sql查询出来的结果,应该只有一条。

  • 回复于 2012-12-19 10:09 举报

    这个的确把问题解决了 多谢

  • 回复于 2012-12-19 10:12 举报

    SQL 是对的 直接运行SQL 会有total 也 是多条数据 就是我想得到的数据,用了 的给的方法解决问题了

  • 回复于 2012-12-19 12:45 举报

    嗯,复杂的sql就得使用createCommand,不过这个方法没有出来,还有待研究~

您需要登录后才可以回复。登录 | 立即注册