我在我的Yii应用程序中创建了一个新表,它将用作关系表,只存储ID,它非常简单,但我无法实际获取从模型传递的任何信息,即使ID匹配。谁能看到我哪里出错?
用户模型(有许多关系,但我只是包含了一个有问题的人)
public function relations() {
return array(
'onsiteGroup' => array(self::HAS_MANY, 'EventAttendeesGroups', 'user_id'),
);
}
EventAttendeeGroups模型
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,
),
谁能看到我哪里出错???
答案 0 :(得分:0)
您收到错误了吗?什么是输出?您是否尝试渲染CGridView或者是什么,如果是,它是否形成?
有一个想法,你确定吗
$model->onsiteGroup->group_id
是对象名称而不是
$model->onsiteGroupName->group_id
只是一个想法。