gpt4 book ai didi

symfony - Doctrine实体存储库如何将 'andWhere'添加到所有 'find*'函数中?

转载 作者:行者123 更新时间:2023-12-02 16:39:16 25 4
gpt4 key购买 nike

由于遗留原因,我有一个用于多种目的的表。只有行的子集与我正在编写的实体相关。标准很简单,只需检查 'project' 字段的具体值即可。

无需重新实现 find、findAll、findByName、findByID、findBy...,只需通知原则向它们附加单个条件即可。是否可以在不重新实现每个 find* 的情况下实现?

或者也许仍然可以在情人层面上完成?

更新:

  • 重新设计了问题,以指定可接受的解决方案类型。

最佳答案

一个可用的易于使用的解决方案是使用自定义find 函数创建一个存储库

然后,如果您的所有实体都有特定的 Repository,请使它们 (Repository) 从您的实体扩展(其中包含自定义 find 方法) ),否则(每个实体没有 Repository),请使用 @ORM\Entity< 的 repositoryClass 选项将存储库分配给所有实体 注释如:

@ORM\Entity(repositoryClass="YourMainRepository")

否则,如果您不想在实体中放置任何存储库,请覆盖整个默认存储库并自定义查找方法。

由于特定需要,我已经使用了最后一个选项,我还邀请您查看以下问题:

Abstract repository and @Entity annotation inheritance

查看解决方案,其中包含覆盖默认学说存储库所需的所有步骤的要点。

参见Custom Repository classes

关于symfony - Doctrine实体存储库如何将 'andWhere'添加到所有 'find*'函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35343052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com