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ステートメントは次のとおりです。SELECTid、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テーブルからユーザー名を取得する代わりに、エイリアス名のないすべての列が付属しています。私はこの問題がエイリアス名に関連していることを知っていました。この構文とコードで私が間違ったことをしました。
親切にアドバイス