【问题标题】:Zend Framework 2 - Doctrine 2 - How to use fixturesZend Framework 2 - Doctrine 2 - 如何使用固定装置
【发布时间】:2013-01-10 09:32:01
【问题描述】:

我需要使用固定装置将初始用户放入我的数据库中。

我看了这个模块,据说还不错:https://github.com/doctrine/data-fixtures

不幸的是,我不明白如何使用它。好吧,我用我的固定装置建立一个类。进而?我习惯于在创建数据库 (schema-tool:create) 时自动将数据写入其中。

但是这种联系在哪里?好像代码中的某个地方需要调用Loader?

如果有人能给我一个简短的教程如何使用这些(或任何其他工作的)夹具模块,那就太好了!

谢谢!

【问题讨论】:

  • 嗯,您使用的是正确的 cli 工具吗?默认为vendor/bin/doctrine-module。如果您的学说设置正确(即,如果您可以在应用程序中使用它),它应该可以工作。 (我可能误解了你的问题。)
  • 我正在使用这个,但我只是不明白如何使用它。我创建了一个夹具类...然后呢?该示例说明了我在某些时候使用的Loader()...为什么?我想我只需要把我的班级放在某个地方并注册它?但是怎么做?

标签: php database doctrine-orm zend-framework2 fixtures


【解决方案1】:

DoctrineModule 中还没有这些装置。有一个独特的模块专门用于使用 Doctrine 加载夹具,它被称为 DoctrineDataFixtureModule,可以在 GitHub 上找到。

通过composer安装它:hounddog/doctrine-data-fixture-module并在你的application.config.php中启用DoctrineDataFixtureModule。如果您已经配置了原则,只需将其添加到您的 FooModule 的 module.config.php 中:

'data-fixture' => array(
    'location' => __DIR__ . '/../fixtures',
)

然后在该模块的目录中创建一个名为“fixtures”的子目录。将您的课程放在那里并运行vendor/bin/doctrine-module data-fixture:import 以导入固定装置。夹具类的示例可能类似于 this

【讨论】:

  • 谢谢,太好了!当其他人试图效仿你的例子时,我添加了一个示例类来解释
  • 好的,我的编辑由于某种神秘的原因被拒绝了......也许你可以自己添加它?我认为这会让你的好帖子变得更好;)
  • 编辑被拒绝,因为它改变了太多现有的帖子(以及帖子的含义)。我更新了我的答案以获得指向数据夹具模块的 Github 存储库的链接,因此有一些示例如何编写夹具类。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-27
  • 2011-12-13
  • 1970-01-01
  • 2014-10-04
  • 2013-12-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多