我有一个表单,其中包含从数据库表“FieldNames”中动态提取的所有字段:
ID | FieldName
--------------
11 | username
22 | password
33 | Address
44 | etc
这只是一个例子,形式更复杂。
我在 php doc 中了解到并看到,如果表单字段与模型表 1:1 匹配,则 Save 方法是用户,并且使用正确单元格中的所有值创建一个新行。但是,如果对于我的示例表单,所有字段值都应该在多行中,并在具有以下结构的表“FieldValues”中一一出现,它是如何工作的。
ID | FieldId | Value | DataSet
---------------------------------------------
1 | 11 | 'value for username' | 1
2 | 22 | 'value for password' | 1
3 | 33 | 'value for address' | 1
FieldId = FK 到 Fieldnames.ID
我能够在使用“经典”的方法中做到这一点
foreach field -> $sql = "sql insert query" -> $this->query( $sql )'
我只是想知道我可以使用蛋糕中的“魔法”来解决这个任务。第二个问题:如果“魔术”是可能的,我如何添加第二个参数并在每个数据集上设置一个新的 DataSet 值?
这是一个表单构建器应用程序,因此字段必须是动态的,我不能使用“静态”表单实现(硬编码表列中的字段名称 1:1)。字段名称和编号各不相同。这就是为什么我将它们拉到数据库中。