Kir*_*ati 2 model doctrine-orm
我正在研究使用Doctrine的项目.所以我开始学习Doctrine并编写简单的测试并在一开始就陷入困境.之前我开发了很多cakePHP应用程序,我对蛋糕烘焙有很好的了解.
我有一个测试mysql数据库和2个表.我想生成所有模型类,并希望将它们包含在我的MVC应用程序的控制器中以进行CRUD.
我使用composer安装了Doctrine,并在项目文件夹中找到了一个名为/ vendor的文件夹.在项目文件夹中创建了一个新的bootstrap.php
/vendor
/bootstrap.php
Run Code Online (Sandbox Code Playgroud)
bootstrap.php里面的代码是
// bootstrap.php
require_once "vendor/autoload.php";
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
$paths = array("/path/to/entities-or-mapping-files");
$isDevMode = false;
// the connection configuration
$dbParams = array(
'driver' => 'pdo_mysql',
'user' => 'root',
'password' => '',
'dbname' => 'test',
);
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$em = EntityManager::create($dbParams, $config);
Run Code Online (Sandbox Code Playgroud)
我看到旧版本中有一个名为Doctrine_Core :: generateModelsFromDb的方法.
我只想要基本模型开始,并想知道如何将它们包含在其他PHP文件中以进行CRUD.
我知道你想从数据库中生成一组实体类和映射信息.使用Doctrine,您需要实体类和它们的映射信息.映射信息基本上是一堆.yml或.xml文件.这两件事都可以使用Doctrine提供的工具从数据库生成.这通常在项目开始时完成一次.从映射信息中,Doctrine可以自动生成您可以在代码中使用的PHP类(例如,持久授权).映射信息也可以作为伪注释添加到类中,但我没有经验,所以我不会深入研究.
你正在寻找的命令是
php doctrine orm:convert-mapping --from-database yml /path/to/mapping-path-converted-to-yml
Run Code Online (Sandbox Code Playgroud)
这假设您已经配置了Doctrine来访问您的数据库.
完成此操作后,您可以生成实体
php doctrine orm:generate-entities
Run Code Online (Sandbox Code Playgroud)
这应该创建用于CRUD操作的类.要使用这些类,只需将它们包含在代码中,然后使用EntityManager对象对它们进行操作.
有关逆向工程的更多信息,请访问:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/tools.html#reverse-engineering
顺便说一下,如果你在MySQL Workbench文件中有一个模式,那么有些脚本可以生成实体类及其中的映射信息.
| 归档时间: |
|
| 查看次数: |
6029 次 |
| 最近记录: |