我正尝试使用动态表字段构建应用程序。这个想法是,管理员可以在不更改MySQL表的情况下定义每个项目的哪些字段可用。CakePHP的动态表字段
在字段中输入的数据应该是各种类型,例如文本,货币和布尔值,因此可以添加后缀$或布尔值显示图像。此外,应将字段分配给组(以将它们分隔在HTML字段集中)。最后一个项目每场有一个值。
我要为内容,以显示每一个可能的领域中添加和编辑表单。
所以,我说的对,我需要以下型号:
Item
(的hasMany值)Field
(属于关联FIELDGROUP &的FieldType(也的hasMany价值?))FieldGroup
(的hasMany场)FieldType
(hasMany Field)Value
(belongsTo Item & Field)
得到我需要的?
我真的不知道该怎么做的部分:它只允许每个项目有一个值,但因为模型Item
有许多值可以有多个值。
我怎么会得到与组和类型的字段项的形式?我试图用loadModel('Group');
让他们(正确吗?),然后指定数组$fieldsByGroups = $this->Group->find('all')
到添加/编辑模板,并做了foreach($fieldsByGroups)
创建表单输入。这是一个合适的方法吗?
的值表有4个领域:id
,item_id
,field_id
,value
(长文本,因为我在WordPress表结构看见我并不需要为每个不同的FieldType表在一些EAV,文章建议(其中没有是我需要的))。基本上我不需要id
,但我认为CakePHP需要一个primaryKey,并且不能处理item_id
和field_id
的索引。
感谢,
曼努埃尔
您现在处于无SQL领域!查看MongoDB/CouchDB - 您不需要*定义任何设置结构,并且可以设置管理员能够添加/删除添加/编辑视图中的字段,这些字段使用ORM将最终放入数据库中太麻烦了。 – 2012-03-09 15:42:04