Activerecord 检索关系数据的问题
我将在我的Yii应用程序中创建一个新表,它将用作关系表,只存储ID,这非常简单,但我无法从模型中实际获得任何信息,即使ID匹配。有人能看出我哪里做错了吗 用户模型(有很多关系,但我刚刚加入了一个我有问题的) 事件参与者组模型Activerecord 检索关系数据的问题,activerecord,yii,relational-database,relation,Activerecord,Yii,Relational Database,Relation,我将在我的Yii应用程序中创建一个新表,它将用作关系表,只存储ID,这非常简单,但我无法从模型中实际获得任何信息,即使ID匹配。有人能看出我哪里做错了吗 用户模型(有很多关系,但我刚刚加入了一个我有问题的) 事件参与者组模型 class EventAttendeesGroups extends CActiveRecord { public function tableName() { return '{{event_attendees_groups}}';
class EventAttendeesGroups extends CActiveRecord
{
public function tableName()
{
return '{{event_attendees_groups}}';
}
public function rules()
{
return array(
array('user_id, group_id', 'required'),
array('user_id, group_id', 'numerical', 'integerOnly'=>true),
array('user_id, group_id', 'safe'),
array('id, user_id, group_id', 'safe', 'on'=>'search'),
);
}
public function relations()
{
return array(
'user' => array(self::BELONGS_TO, 'User', 'user_id'),
'onsiteGroupName' => array(self::BELONGS_TO, 'EventAttendeesGroupName', 'group_id'),
);
}
public function attributeLabels()
{
return array(
'id' => 'ID',
'user_id' => 'User',
'group_id' => 'Group',
);
}
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('user_id',$this->user_id);
$criteria->compare('group_id',$this->group_id);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
public static function model($className=__CLASS__)
{
return parent::model($className);
}
}
我的数据是正确的,用户id存在于用户表和EventAttendeeGroups表中,但是如果在用户视图gridview表中尝试以下操作,我会得到“未设置”
array(
'name' => 'group_id',
'type' => 'raw',
'value' => $model->onsiteGroup->group_id,
),
有人知道我哪里出了错吗?你有错误吗?它输出什么?您是否正在尝试渲染CGridView或什么,如果是,它是否已形成 一个想法,你确定吗
$model->onsiteGroup->group_id
是对象名,而不是
$model->onsiteGroupName->group_id
只是一个想法
$model->onsiteGroupName->group_id