从fieldTable向ActiveRecord添加属性

时间:2013-03-02 12:15:07

标签: activerecord yii

我有一个Yii项目,我想在个人资料页面上添加字段,这些字段在另一个模型中有描述。

所以表格看起来像这样:

CREATE  TABLE `object_field` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `varname` VARCHAR(255) NULL ,
  `title` VARCHAR(255) NULL ,
  `field_type` VARCHAR(255) NOT NULL ,
  `match` VARCHAR(255) NULL ,
  `range` VARCHAR(255) NULL ,
  `default` VARCHAR(255) NULL ,
  `required` INT(1) NOT NULL DEFAULT 0 ,
  `position` INT(3) NOT NULL DEFAULT 0 ,
  `visible` INT(1) NOT NULL DEFAULT 0 ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB

因此,在UserProfile - 模型中,我已将字段添加到rules()attributesLabels(),但__get()__set()找不到我添加之前的属性,例如建模public $this->fieldName

用户的值存储在另一个表中,该表将UserUserData连接起来

我是否应该覆盖模型中的__get()__set(),或者如何使用动态定义的字段将字段设置为表单接受?

更新

我查看了Yii用户扩展http://www.yiiframework.com/extension/yii-user/,但它只是更改了UserProfile-schema以添加新字段。我可以有20种不同类型的用户,每个用户共享一些字段,并且可能只有一种类型的特殊字段。

解决方案可能是将mongoDB添加为关系。但我从未使用过这项技术。

0 个答案:

没有答案