0

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

所以表格可能如下所示:

创建表`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 ,
  `范围` 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 ,
  主键 (`id`) )
引擎 = InnoDB

所以在UserProfile-model 中,我已将字段添加到rules()andattributesLabels()__get()and确实在我添加例如模型__set()之前找不到属性。public $this->fieldName

用户的值存储在另一个表中,该表UserUserData

我应该覆盖模型中的__get()and __set(),还是如何使用动态定义的字段使表单中的字段接受?

更新:

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

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

4

0 回答 0