我是 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 表中获取用户名,它带有没有别名的所有列。我知道这个问题与别名有关。我在这个语法和代码上做错了什么。
好心劝告