【问题标题】:Dynamic objects in Symfony2Symfony2 中的动态对象
【发布时间】:2016-02-15 03:54:08
【问题描述】:

我创建了一个系统来生成和管理数据库。这个想法很简单:用户将能够定义表、它们的结构,当然还可以添加/编辑/删除所有数据。这个动态对象应该在网站级别上完全配置,而不是在代码中。假设我从用户那里获得了所有必要的信息(它是通过表单发送的),现在我想生成新的 Doctrine 对象并在数据库中创建表。有没有办法做到这一点?

【问题讨论】:

    标签: php symfony doctrine-orm


    【解决方案1】:

    这是你需要的:

    $sm = $conn->getSchemaManager();
    $schema = $sm->createSchema();
    $newSchema = clone $schema;
    $table = $newSchema->createTable("my_table");
    $table->addColumn("id", "integer", array("unsigned" => true));
    $table->addColumn("username", "string", array("length" => 32));
    $table->setPrimaryKey(array("id"));
    $table->addUniqueIndex(array("username"));
    $sql = $schema->getMigrateToSql($newSchema, $conn->getDatabasePlatform());
    

    然后执行你的新sql

    $conn->exec( $sql );
    

    附: connDBAL connection 的实例。查看here了解更多信息。

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 2015-11-14
      • 2016-02-22
      • 2020-10-29
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      • 2014-06-08
      • 1970-01-01
      相关资源
      最近更新 更多