doctrine zend zf3 orm实体映射

时间:2018-02-07 02:52:12

标签: php orm doctrine zend-framework3

从带有表的数据库生成PHP的问题。我正在尝试从已在数据库中定义的表中生成实体,getter / setter和任何关联的注释。

我一直关注几个学说教程,但无法让实体成功生成

环境(windows xampp PHP 7.1):ZendFramework 3骨架应用程序已下载。

"zendframework/zend-component-installer" : "^1.0 || ^0.7 || ^1.0.0-dev@dev",
"zendframework/zend-mvc" : "^3.0.1",
"zfcampus/zf-development-mode" : "^3.0",
"zf-commons/zfc-user" : "^3.0",
"zendframework/zend-log" : "^2.9",
"doctrine/doctrine-orm-module" : "^1.1",
"zendframework/zend-json" : "^3.1"

来自" App_Root"运行以下命令会为每个表生成带有variable =>字段映射值的PHP类(请注意该目录与已定义的命名空间结构相匹配):

./vendor/doctrine/doctrine-module/bin/doctrine-module orm:convert-mapping --namespace="ModuleName\\Entity\\" --force --from-database annotation ./EXPORT

(在/ EXPORT / ModuleName / Entity中生成的文件)

到目前为止一切顺利。 现在尝试使用

生成getter和任何其他注释数据
./vendor/doctrine/doctrine-module/bin/doctrine-module orm:generate:entities ./EXPORT/ModuleName/Entity

制作:

  

[确定]无要处理的元数据类。

对于我的生活,我找不到任何配置orm:generate:指向某种形式的元数据类的实体...... 是否缺少一个步骤?

调整无效。 请注意,为了最初运行,我必须调整基本配置甚至连接到数据库(vendor / doctrine / doctine-orm-module / config / module.config.php),即脚本显然没有从中获取任何配置骨架MVC应用程序。 我已经尝试安装ZFTool,当从命令行运行时它有自己的问题,所以这对我来说是死路一条(无论如何在zf3中)

到目前为止,我的选择似乎是:

  1. 找到一种生成方式:使用当前工具通过命令行运行的实体
  2. 找到一种方法来运行ORM工具,其中包含试图利用配置的ZF3骨架应用程序的上下文
  3. 至少坚持使用'注释'上面生成的类并手动添加getter / setter并继续......(不是我想做的)
  4. 使用DBAdapter转储doctrine并将/ Zend / Db库与TableGateway客户Select()对象一起使用。
  5. http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/tools.html#configuration

    https://samsonasik.wordpress.com/2013/04/10/zend-framework-2-generate-doctrine-entities-from-existing-database-using-doctrinemodule-and-doctrineormmodule/

    How to generate entities from database schema using doctrine-orm-module and zf2

    creating mapped ORM Entities without the cli?

    任何有关步骤细分的帮助都会很棒。在线文档和帖子对我没有效果,可能是因为我错过了一些简单的配置或指令...

1 个答案:

答案 0 :(得分:0)

请您尝试运行以下命令,看看是否有帮助。我对它做了一些小修改。

./vendor/doctrine/doctrine-module/bin/doctrine-module orm:generate:entities ./EXPORT --generate-annotations=true

如果上述方法不起作用,您也可以试试这个,以防万一。

./vendor/doctrine/doctrine-module/bin/doctrine-module orm:generate:entities ./EXPORT/ModuleName --generate-annotations=true