注释@OrderBy

时间:2013-08-12 14:44:14

标签: symfony doctrine-orm doctrine symfony-2.3

我正在尝试通过ManyToMany批注@OrderBy自动排序报告的结果:

/**
 * @ORM\ManyToMany(targetEntity="Artist", inversedBy="soundtrack", cascade={"persist", "remove"})
 * @ORM\JoinTable(name="soundtrack_artist")
 * @OrderBy({"name" = "ASC", "surname" = "ASC"})
 **/
private $artists;

但它给了我这个错误:

[Semantical Error] The annotation "@OrderBy" in property
Acme\UserBundle\Entity\Soundtrack::$artists was never imported.
Did you maybe forget to add a "use" statement for this annotation?

我还尝试添加:

use Doctrine\ORM\Mapping\OrderBy;

但错误仍然存​​在! 我做错了什么?

3 个答案:

答案 0 :(得分:14)

不确定你是否找到答案,但这对我有用:

  

@ORM \排序依据

答案 1 :(得分:4)

如果包含此命名空间:

use Doctrine\ORM\Mapping as ORM;

此注释将起作用:

@ORM\OrderBy({"date" = "ASC"})

第一个键应该是类的映射属性。订单应该是ASC或DESC。

请参阅Doctrine官方文档:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/annotations-reference.html#annref-orderby

答案 2 :(得分:1)

@ORM\OrderBy解决所有问题,在symfony注释中重要的是插入一个方法的范围。