php - Zend 3 + Doctrine 2 创建表格?

标签 php mysql symfony doctrine-orm doctrine

我一直在想关于 google 上试图“找到一种方法”使用 doctrine 创建表格的文章。我需要创建“临时表”,因为我正在处理的项目会有很多“临时统计数据”,我不需要拥有所有信息,有时只需要一个“总计”。无论如何,MYSQL“临时”表只是“解决方案”。

但是,我找不到任何一条信息向您展示如何使用 Doctrine 创建表格。

我知道 Doctrine 需要创建表和实体,但必须有一种“即时”创建表的方法,或者一种运行原始查询的方法。

这是我试过的一段代码,当然失败了:

$schema= new \Doctrine\DBAL\Schema\Schema();

        //if (!$schema->tablesExist('post'))
        //{
            $table= new \Doctrine\DBAL\Schema\Table('post');
            $table->addColumn('id', 'integer', ['autoincrement'=>true]);
            $table->addColumn('title', 'text', ['notnull'=>true]);
            $table->addColumn('content', 'text', ['notnull'=>true]);
            $table->addColumn('status', 'integer', ['notnull'=>true]);
            $table->addColumn('date_created', 'datetime', ['notnull'=>true]);
            $table->setPrimaryKey(['id']);
            $table->addOption('engine' , 'InnoDB');

            $schema->createTable($table); // save to DB
        //}

有人可以向我解释一下表格是否可以用 Doctrine 创建吗?

非常感谢。

最佳答案

您编写的代码称为迁移,如果迁移已正确安装和配置,则可以使用以下命令执行:

php public/index.php migrations:migrate

如果您希望创建一个没有迁移的表,只需先创建一个实体,配置映射(使用注释或您选择的任何其他类型)并使用以下方法强制创建模式:

php public/index.php doctrine:schema:update --force

如果您希望运行原始查询,您可以:

$this->entityManager->getConnection()->executeQuery('SQL Query', $optionalParams);

关于php - Zend 3 + Doctrine 2 创建表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45031969/

相关文章:

php - fatal error :未捕获异常 'Exception',消息为“DateTime::__construct(): 无法解析时间字符串

php - Symfony2,如何使表单标签类/属性与​​其输入不同?

php - 在 Symfony 序列化中更改序列化属性名称

php - 当用户单击 "vote"w/php & mysql 时增加记录的分数

symfony - 注销另一个用户

php - 这就是 AltoRouter GET POST 方法的工作原理吗?

php - Laravel 模型在查询时将 MySQL 表重命名为复数

php - 变量在 PHP joomla 的 where 子句中不起作用

mysql - Netsuite 中的自定义交易列字段

java - Asyntask #1 Android 错误