有这么一段代码, 是一个基于LBS的应用
关系定义:
其中定义了signers关系表示在某个活动签到的用户列表
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'signers' => array(
self::MANY_MANY, 'User', 'ActivitySigners(ActivityId,UserId)', 'joinType' => 'INNER JOIN', 'together' => true
)
);
}
查询:
private function getActivitySigners($ActivityId)
{
$Criteria = new CDbCriteria();
$Criteria->addColumnCondition(array(
't.Id' => $ActivityId
));
$Count = Activity::model()->with('signers')->count($Criteria);
$this->setPager($Criteria, $Count);
$Activity = Activity::model()->with('signers')->find($Criteria);
$ActivitySigners = $this->prefixUrl(Yii::app()->params['StaticResourceUrlPrefix'], $Activity->signers, 'AvatarImage');
$Signers = array();
foreach($ActivitySigners as $index => $Signer){
$Signers[$index] = $Signer->getAttributes(array('Id', 'Nickname', 'AvatarImage', 'Sex')) ;
}
return $Signers;
}
$Activity->signers, 访问用户表的相关字段是没有问题的,
但是如何访问 ActivitySigners 表中出主键外的其他字段,我这里就遇到问题了.,ActivitySigners 表中还包括签到时间,以及用户感言.
Google过了一些,没有找到相关的解答,特此在这里求助与强哥.