1

我正在使用教义2进行symfony2项目,我有一个关于为连接到表单的用户创建一个新按钮以添加10个新字段的问题,当然有10个值和10个列在DB中:

这意味着当用户单击“添加新”按钮时,他可以添加一个带有 XV 值的字段 X 并在数据库中创建一个 colomun “X”,然后使用 YV 的第二个字段 Y ...直到 10.Also XV AND YV相同类型的字段,例如“十进制”。

使用 ajax 在表单中添加新字段没有问题,但我的问题是:

1- 如何在 DB 中的表中创建一个新列并插入值?

2-如何在创建新列的同时自动更新类实体和类形式?

4

1 回答 1

1

首先,我必须承认我没有完全理解你想要达到的目标。但我几乎是肯定的,你的设计存在概念上的错误。

您必须区分以下两个概念:

  • DML(数据操作语言),例如在/从数据库中插入、更新或删除数据,这意味着您创建新记录 (INSERT)。
  • DDL(数据定义语言),例如 CREATE TABLE(创建新的数据库关系)或 ALTER TABLE(向数据库添加新列)。

您正在尝试使用DDL(根据您的描述 ALTER TABLE 语句)将新列动态添加到您的数据库中,这是无效的,而且根本不是好的做法。你应该有一个非常好的理由这样做(例如,如果你正在构建的系统是一个数据库管理工具或类似的东西......)。

我强烈建议您彻底重新思考和重新设计您的架构并使用 DML来实现您的目标。我相信您的问题可以通过设计灵活的数据结构而不是添加新列,而是在动态数据库中插入新记录来解决。

在你重新设计了你的数据库结构之后,使用 Symfony 和 Doctrine 来实现你的任务将非常容易。

于 2013-08-18T23:28:59.920 回答