У меня 3 таблицы;
users (
id_user mediumint(
UNSIGNED AUTO_INCREMENT NOT NULL,
username varchar(25) NOT NULL,
password varchar(32) NOT NULL,
email varchar(255) NOT NULL,
date_created int(10) UNSIGNED NOT NULL DEFAULT ‘0’,
date_modified int(10) UNSIGNED NOT NULL DEFAULT ‘0’,
status tinyint(1) UNSIGNED NOT NULL DEFAULT ‘0’,
verifyCode int,
)
friends (
id_subscription mediumint(
UNSIGNED AUTO_INCREMENT NOT NULL,
id_user mediumint(
UNSIGNED NOT NULL DEFAULT ‘0’,
id_friend mediumint(
UNSIGNED NOT NULL DEFAULT ‘0’,
date_created int(10) UNSIGNED NOT NULL DEFAULT ‘0’,
/* Keys */
PRIMARY KEY (id_subscription)
)
users_profiles (
id_profile mediumint(
UNSIGNED AUTO_INCREMENT NOT NULL,
id_user mediumint(
UNSIGNED NOT NULL DEFAULT ‘0’,
name varchar(20) NOT NULL,
surname varchar(25) NOT NULL,
birthday date,
day tinyint(2),
month tinyint(2),
year int(4),
avatar varchar(20) NOT NULL,
private tinyint(1) UNSIGNED NOT NULL DEFAULT ‘0’,
country varchar(255) NOT NULL,
city varchar(255) NOT NULL,
messages mediumint(
UNSIGNED NOT NULL DEFAULT ‘0’,
friends mediumint(
UNSIGNED NOT NULL DEFAULT ‘0’,
readers mediumint(
UNSIGNED NOT NULL DEFAULT ‘0’,
url varchar(150) NOT NULL,
about text NOT NULL,
/* Keys */
PRIMARY KEY (id_profile)
)
class User extends CActiveRecord
{
…
public function relations()
{
return array(
'profile' => array(self::HAS_ONE, 'UserProfile', 'id_user'),
'friends' => array(self::HAS_ONE, 'Friend', 'id_user')
);
}
}
Делаю следующее:
$criteria = new CDbCriteria();
$criteria->condition = 'id_user = 85';
$pages = new CPagination(User::model()->with('profile','friends')->together()->count($criteria));
$pages->pageSize = 20;
$pages->applyLimit($criteria);
$users = User::model()->with('profile','friends')->together()->findAll($criteria);
И возникает ошибка:
CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[23000]: Integrity constraint violation: 1052 Column ‘id_user’ in where clause is ambiguous
Не понимаю как задать алиас для таблицы. Пробовал так:
$criteria->condition = 'friends.id_user = 85';
но возникает ошибка: Unknown column ‘friends.id_user’ in ‘where clause’