我有一个项目可以在没有任何文档的情况下更新某些扩展和模块。
我遇到的问题是模型中的一个变量,它在使用 localhost 时被视为未定义(但在完全相同的代码的服务器版本上工作正常)。
据我所知,它在数据库中创建了一行,并为其分配了 1 或 0 的值。
这可能是什么原因造成的?
请记住,这在服务器上运行良好。我已将 php.ini 中的全局变量设置为 On。没变。Row 肯定是在数据库中创建并存在一个值。单击“创建新组”后页面错误。
编辑。错误消息:未定义属性“EventGroups.delegates_select_event_group”。
下面的代码是模型、控制器和表单。(和选项)
首先,表单视图。
echo $form->switchGroup($model, 'delegates_select_event_group', array('class' => 'col-md-6'));
模型
public $delegates_select_event_group;
public function rules() {
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('name, description, guest_invites_per_user, delegates_select_event_group ', 'required'),
);
}
选项
//Options
// Event group selectable
const KEY_DELEGATES_SELECT_EVENT_GROUP = 'delegates_select_event_group';
public static function isDelegatesSelectEventGroup() {
return self::getValue(self::KEY_DELEGATES_SELECT_EVENT_GROUP, false);
}
public static function setDelegatesSelectEventGroup($value) {
return self::setValue(self::KEY_DELEGATES_SELECT_EVENT_GROUP, $value);
}
const KEY_DEFAULT_EVENT_GROUP_ID = 'default_event_group_id';
public static function getDefaultEventGroupID() {
$model = EventGroups::model()->find();
if ($model === null) {
return self::getValue(self::KEY_DEFAULT_EVENT_GROUP_ID, 1);
} else {
return self::getValue(self::KEY_DEFAULT_EVENT_GROUP_ID, $model->id);
}
}
public static function setDefaultEventGroupID($value) {
return self::setValue(self::KEY_DEFAULT_EVENT_GROUP_ID, $value);
}
控制器
public function actionCreate() {
$model = new EventGroups;
// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);
if (isset($_POST['EventGroups'])) {
$model->attributes = $_POST['EventGroups'];
if ($model->validate()) {
// Valid Save
$model->save(false);
$this->redirect(array('event/create'));
}
}
$this->render('create', array(
'model' => $model,
));
}