gpt4 book ai didi

symfony - 如何在父类(super class)上应用 UniqueEntity 验证

转载 作者:行者123 更新时间:2023-12-01 04:06:30 24 4
gpt4 key购买 nike

在定义具有多个实现的抽象父类(super class)时,我无法让 UniqueEntity 检查工作。

例如,在创建具有电子邮件字段和 FacebookUser/TwitterUser 的 AbstractUser 时,UniqueEntity 检查仅是子类。不是家长。

关于如何在顶级应用唯一检查的任何想法?

编辑:我正在使用 joined带有鉴别器列的表继承。见 doctrine documentation.

最佳答案

在这种情况下,您可能需要编写自己的验证约束来检查唯一性。

在这种情况下,UniqueEntity 约束将如何应用在逻辑上尚不清楚。
应检查所有扩展类的属性的唯一性还是仅检查当前使用的类?

由于 UniqueEntity 约束在表中查找属性的唯一性,因此默认行为未涵盖第二个变体。
因此,您不能对当前使用单表继承扩展的类使用约束。

关于问题评论:

FOSUserBundle 在 config/validaton.xml 中不包含 UniqueEntity 约束.

...但它可以在 orm、mongodb、couchdb 和 propel 中找到,即在 config/orm/orm.xml 中.

FOSUserBundle 使用 @MappedSuperClass 而不是连接表继承。

关于symfony - 如何在父类(super class)上应用 UniqueEntity 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8976862/

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