Ситуация такая, есть таблица User:
Код: Выделить всё
CREATE TABLE `User` (
`Id` int(11) NOT NULL auto_increment,
`login` varchar(20) NOT NULL default '',
`pass` varchar(32) default NULL,
`idReferal` int(11) NOT NULL default '0',
PRIMARY KEY (`Id`,`login`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8
Есть моделька User:
Код: Выделить всё
class User extends CActiveRecord
{
public static function model($className = __CLASS__)
{
return parent::model($className);
}
public function relations()
{
return array(
'referal'=>array(self::BELONGS_TO,'User','idReferal')
);
}
//put your code here
}
Код: Выделить всё
INSERT INTO `User` VALUES (1,'admin','21232f297a57a5a743894a0e4a801fc3',9);
INSERT INTO `User` VALUES (9,'oa_09c7c3248d87b73f7',NULL,0);
Код: Выделить всё
User::model()->findByPk(array('Id'=>1,'login'=>'admin'))->referal;
Код: Выделить всё
SELECT `referal`.* FROM `User` `referal` WHERE `referal`.`Id`=:ypl0. Bound with :ypl0='9'
Код: Выделить всё
public function relations()
{
return array(
'referal'=>array(self::BELONGS_TO,'User','idReferal,extrnlLogin')
);
}
Код: Выделить всё
SELECT `referal`.* FROM `User` `referal` WHERE (`referal`.`Id`=:ypl0) AND (`referal`.`login`=:ypl1). Bound with :ypl0='9', :ypl1='oa_333333'