8

我正在尝试通过 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;

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

4

3 回答 3

24

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

@ORM\OrderBy

于 2014-08-02T08:14:57.433 回答
10

如果您包含此命名空间:

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

于 2017-03-15T19:30:36.210 回答
2

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

于 2016-03-11T09:35:07.070 回答