两个表分别是sns_userinfo_base和sns_userinfo_sign,userinfo_sign_sign是表sns_userinfo_sign的值,关联两表查询后,如何取得
userinfo_sign_sign的值呢,代码如下:
class sns_userinfo_base extends CActiveRecord{
public function relations()
{
return array(
'sign'=>array(self::HAS_ONE, 'sns_userinfo_sign', 'login_uuid'),
);
}
}
class sns_userinfo_sign extends CActiveRecord{
public function relations()
{
return array(
'base'=>array(self::BELONGS_TO, 'sns_userinfo_base', 'login_uuid'),
);
}
}
$criteria=new CDbCriteria;
$criteria->addInCondition(‘sns_userinfo_base.login_uuid’,$loginIdArray);
$criteria->with=array(
‘sign.base’,
);
$baseModel = sns_userinfo_base::model()->findAll($criteria);
for($i = 0;$i<10;$i++){
echo $baseModel[$i][‘sign’][‘login_uuid’];
}
值是有值,但为什么不是对应的’login_uuid’的值呢?就是说没有on sign.login_uuid = base.login_uuid的效果