Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 按外国属性对许多协会的秩序原则_Symfony_Doctrine_One To Many - Fatal编程技术网

Symfony 按外国属性对许多协会的秩序原则

Symfony 按外国属性对许多协会的秩序原则,symfony,doctrine,one-to-many,Symfony,Doctrine,One To Many,是否可以使用外部属性对多个关联进行排序 例如:假设有3个实体客户、订单和菜肴。为了便于论证,假设客户和订单之间存在一对多关联,订单和菜品之间存在多对一关联。这道菜有一个名为price的字段 因此,一个客户可以下很多订单,每个订单对应一道菜 我想根据菜的价格对一对多的联想进行分类。i、 例如,为客户端实体提供一个getOrders方法,该方法返回按$order->getDish->getPrice排序的订单 我知道我可以通过使用一个我不想要的查询来实现这个功能,因为我无法访问客户机实体中的存储库,

是否可以使用外部属性对多个关联进行排序

例如:假设有3个实体客户、订单和菜肴。为了便于论证,假设客户和订单之间存在一对多关联,订单和菜品之间存在多对一关联。这道菜有一个名为price的字段

因此,一个客户可以下很多订单,每个订单对应一道菜

我想根据菜的价格对一对多的联想进行分类。i、 例如,为客户端实体提供一个getOrders方法,该方法返回按$order->getDish->getPrice排序的订单

我知道我可以通过使用一个我不想要的查询来实现这个功能,因为我无法访问客户机实体中的存储库,或者通过在内存中对顺序进行排序来实现这个功能,这比较慢,但我更愿意让Doctrine来完成这项工作。

只需使用注释即可

**
 * @ORM\ManyToOne(targetEntity="Dish")
 * @ORM\OrderBy({"price" = "DESC"})
 */
private $dish;
我的回答是基于你的描述,但我不确定一份订单只能有一道菜,否则订单就没用了,我错了吗


如果你需要改变关系基数,当然,你可以:答案是OrderBy annotation

不,我不想点菜,我想点的菜可能不好example@WardBeullens好吧,我不明白这个问题。我不确定您是否可以在不通过repos或编写自己的DQL查询的情况下完成这项工作。实际上,我需要一个注释@ORM\OrderBy{dish.price=DESC}或类似的东西。