我是YII中的新成员。试图在控制器中实现查询,下面是我从控制器获取的代码。字段列表中的列'id'在YII中不明确
public function getCommentListByUser($user_id)
{
$criteria = new CDbCriteria;
$criteria->select = "username";
$criteria->alias = "u";
$criteria->condition = 'cmt.commented_userd_id = '.$user_id;
$criteria->join = 'JOIN tbl_taskcomment cmt ON (cmt.commented_userd_id = u.id)';
$criteria->order = 'cmt.id ASC';
$model = User::model()->findAll($criteria);
return $model;
}
,当我跑的页面,我得到了下面的错误,
CDbCommand未能执行SQL语句:SQLSTATE [23000]:完整性约束冲突:在字段列表1052列“ID”不明确。执行的SQL语句是:SELECT id,username,email,createtime,lastvisit,superuser,status FROM tbl_users
u
JOIN tbl_taskcomment cmt ON(cmt.commented_userd_id = u.id)WHERE cmt.commented_userd_id = 1 ORDER BY cmt.id ASC
取而代之的是从USER表中获取用户名,它带有所有具有out别名的列。我知道这个问题与别名有关。我在这个语法和代码上做了什么错误。
请建议
您不应该为此编写sql,请使用模型的关系和ActiveRecord的查找方法。如果你使用Gii来生成你的模型,你应该已经建立了关系。张贴他们,我可以帮忙。 – adamors 2012-04-25 06:57:46
谢谢Ors它的工作 – mymotherland 2012-04-26 04:57:42