0

別のモデルで記述されているプロファイル ページにフィールドを追加したい Yii プロジェクトがあります。

したがって、テーブルは次のようになります。

CREATE TABLE `object_field` (
  `id` INT NOT NULL AUTO_INCREMENT 、
  `varname` VARCHAR(255) NULL 、
  `タイトル` 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 ,
  主キー (`id`) )
エンジン = InnoDB

したがって、UserProfileモデルでは、フィールドをrules()andに追加しましたattributesLabels()が、__get()andは、たとえばモデル__set()に追加する前に属性を見つけることができません。public $this->fieldName

ユーザーへの値は別のテーブルに保存されますUserUserData

__get()モデルのandを上書きする必要があります__set()か、または動的に定義されたフィールドを使用してフォームへのフィールドを受け入れるにはどうすればよいですか?

アップデート:

Yii-user 拡張機能http://www.yiiframework.com/extension/yii-user/を見てきましたが、 UserProfile-schema を変更して新しいフィールドを追加するだけです。20 の異なるタイプのユーザーを持つことができ、それぞれがいくつかのフィールドを共有し、1 つのタイプのためだけにいくつかの特別なフィールドを持っている可能性があります。

解決策は、mongoDB をリレーションとして追加することです。しかし、私はその技術を使ったことがありません。

4

0 に答える 0