【问题标题】:Doctrine2: proper organisation of CRUD operations.原则 2:正确组织 CRUD 操作。
【发布时间】:2013-03-04 05:49:07
【问题描述】:

需要一些关于如何组织 CRUD 操作的建议,以便使用教义 2 进行模型。 我使用 yaml 映射文件进行表定义。自动生成模型类、代理和自定义存储库类。在我的实体存储库类中,我为复杂的 SQl、DQL 定义了方法。但我不确定我必须将创建、更新和删除操作放在哪里?在存储库类中?在模型课?

【问题讨论】:

  • 好问题!我最近遇到了同样的问题,但没有发现任何信息。每个人都说要使用 entityManager,但没有说明在哪里放置操作或如何组织相关文件。 我的方法:App\Entity 用于您的实体类,App\Repository 用于实体相关的 getter-/find-methods,App\EntityDataHandler 用于与 CRUD 相关的操作。例如,EntityDataHandler 具有 updateDataremoveEntityById 之类的方法。我也会将其命名为相关实体,例如 App\Entity\Foo => App\EntityDataHandler\FooDataHandler。希望对您有所帮助。

标签: php model doctrine-orm crud


【解决方案1】:

通常你只使用实体管理器,比如从控制器中,然后em 处理所有实际的 CRUD 操作。除非您想对某物或其他东西运行某种大规模更新,否则不应该为此使用自定义方法。在这种情况下,它将进入存储库类而不是实体。

【讨论】:

    猜你喜欢
    • 2012-09-23
    • 2014-09-25
    • 1970-01-01
    • 2018-07-10
    • 2017-03-12
    • 1970-01-01
    • 2015-01-31
    • 2014-05-22
    • 1970-01-01
    相关资源
    最近更新 更多