是否有简单的方法在列上定义非唯一索引?
当我定义唯一索引时,这是完全足够的:
/** @ORM\Entity */
class Foo {
/** @ORM\Column(type="string", unique=true) */
private $foo;
}
但是,对于非唯一索引,我需要一堆样板:
/**
* @ORM\Entity
* @ORM\Table(indexes={@Index(name="foo_idx", columns={"foo"})})
*/
class Foo
{
/** @ORM\Column(type="string") */
private $foo;
}
我更喜欢单个属性上的@ORM\Index
注释,或index=true
等...
答案 0 :(得分:0)
我不得不让你失望......
@ORM\Table(indexes={@Index(name="foo_idx", columns={"foo"})})
就像注释一样简单。
如果$foo
是相关实体,它将自动编入索引,但对于索引字段,您需要像添加索引一样添加索引。
您可以找到所有@Column
属性here in the Doctrine 2 documentation。可悲的是index
不在其中。
也许您可以发出功能请求here on GitHub。