学说与万对一实体的一个领域@UniqueEntity?



用户表中有一个可用的is_deleted列。
删除用户时,记录未删除仅is_deleted设置为 1。
然后我使用相同的电话号码创建新用户。它显示唯一的验证错误。

我想跳过验证is_deleted记录。

我的用户配置文件实体

<?php
/**
 * UserProfiles
 *
 * @ORMTable(name="user_profiles")
 * @ORMEntity
 */
 class UserProfiles
 {
/**
 * @var string
 *
 * @ORMColumn(name="phone_number", type="string", length=255, nullable=false)
 */
private $phoneNumber;
/**
 * @ORMOneToOne(targetEntity="ApiBundleEntityUsers", inversedBy="userProfile")
 * @ORMJoinColumn(name="user_id", referencedColumnName="id", onDelete="CASCADE")
 */
private $user;

验证约束 yml。

ApiBundleEntityUserProfiles:
constraints:
    - SymfonyBridgeDoctrineValidatorConstraintsUniqueEntity:
        fields: [phoneNumber]
        errorPath: phone_number
        message: "Phone number is already exists."

我想在字段中添加user.is_deleted:[电话号码,user.is_deleted]

我不确定UniqueEntity约束可以解决您的问题,因为is_deleted在不同的实体上。您很可能需要使用ExpressionCallback约束,以便可以实现更复杂的动态验证并从实体获取User字段UserProfiles

相关内容

  • 没有找到相关文章

最新更新