我正在尝试通过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;
但错误仍然存在! 我做错了什么?
答案 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注释中重要的是插入一个方法的范围。