相关疑难解决方法(0)

Sytrfony 2中的学说2中的唯一约束

我想在我的Doctrine 2实体中创建一个唯一的约束,以便name&test是唯一的列.含义

  • OBJ1

    • name:name1
    • 测试一下
  • OBJ2

    • 名称:name2
    • test:test <----重复

这应该会在测试重复时触发错误.

我尝试使用唯一约束(Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity).试着

 * @UniqueEntity("name")
 * @UniqueEntity("test")
Run Code Online (Sandbox Code Playgroud)

 * @UniqueEntity({"name", "test"})
Run Code Online (Sandbox Code Playgroud)

当我有两个名称和测试重复时,两者似乎只触发错误.例如.

  • OBJ1

    • name:name1
    • 测试一下
  • OBJ2

    • 名称:name2
    • 测试一下

什么是正确的设置?或者我可能在某个地方犯了错误?

也许我应该包括如下的学说注释:

@Table(name="ecommerce_products",uniqueConstraints={@UniqueConstraint(name="search_idx", columns={"name", "email"})})
Run Code Online (Sandbox Code Playgroud)

但是我觉得那仍然不能处理我的symfony表单验证?

UPDATE

我的测试代码:

/**
 * @ORM\Entity
 * @ORM\Table(name="roles") 
 * @UniqueEntity("name")
 * @UniqueEntity("test")
 */
class Role {

    /**
     * @var integer
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue
     */
    protected $id;

    /**
     * @var string
     * 
     * @ORM\Column(type="string", length=32, unique=true)
     * @Assert\MaxLength(32)
     * @Assert\Regex("/^[a-zA-Z0-9_]+$/")
     */ …
Run Code Online (Sandbox Code Playgroud)

validation symfony doctrine-orm

29
推荐指数
2
解决办法
6万
查看次数

标签 统计

doctrine-orm ×1

symfony ×1

validation ×1