注释@OrderBy

Lug*_*ino 5 doctrine symfony doctrine-orm 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;
Run Code Online (Sandbox Code Playgroud)

但它给了我这个错误:

[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?
Run Code Online (Sandbox Code Playgroud)

我还尝试添加:

use Doctrine\ORM\Mapping\OrderBy;
Run Code Online (Sandbox Code Playgroud)

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

Pra*_*sad 16

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

@ORM \排序依据


小智 6

如果包含此名称空间:

use Doctrine\ORM\Mapping as ORM;
Run Code Online (Sandbox Code Playgroud)

此注释将起作用:

@ORM\OrderBy({"date" = "ASC"})
Run Code Online (Sandbox Code Playgroud)

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

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