【发布时间】:2013-05-05 12:07:03
【问题描述】:
我有 2 个具有一对多关系的实体:Article & ArticleCategory
class Article {
/**
* @var integer
*
* @ORM\Column(name="rate", type="integer",options={"default" : 0})
*/
private $rate = 0;
/**
* @var \ArticleCategory
*
* @ORM\ManyToOne(targetEntity="ArticleCategory",inversedBy="articles")
* @ORM\JoinColumn(name="article_category_id", referencedColumnName="id")
*/
private $category;
}
class ArticleCategory {
/**
*
* @var \Article
* @ORM\OneToMany(targetEntity="Article", mappedBy="category")
*/
protected $articles;
}
现在我想获取有很多文章最高的类别..
" 我的意思是按其中评分最高的文章排序的前 N 个类别(分类率高于平均评分的文章较多的类别)"
我该怎么做?
【问题讨论】:
-
显然您的实体中需要一个费率字段。您应该以此开始,然后使用 DQL 或标准来定义什么是“最高”率。
-
我的
rate实体中有rate字段!再次查看问题! :) -
好吧,如果您编写的代码不完整,不要指望人们为您猜测,因为 rate 字段没有注释,所以它对我来说不是一个教条 orm 字段,因为您现在的问题是。跨度>
-
是什么意思“获取有很多文章的最高价格的类别”?你的意思是你想获得例如按所有评级的平均值排序的前 N 个类别?还是按评分最高的文章排序的前 N 个类别?还是所有文章评分最高的类别(例如,如果最高评分为 10,您将获得所有文章评分为 10 的类别)?请详细说明您的问题
-
@Cyprian,感谢您的评论。我试图再次澄清这一点,将其添加到我的问题中“我的意思是按其中评分最高的文章排序的前 N 个类别(具有更多文章的类别)高于平均水平)”
标签: php doctrine-orm symfony-2.1 doctrine-query