我一直在想关于 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/