预期的已知功能,得到'计数',我怎样才能在医生中使用计数?

时间:2015-07-27 22:16:53

标签: doctrine-orm

我有这样的表 餐厅餐桌中的评论与评论表绑定为外键

.btn.btn-primary {
    color: #FFFFFF;
    background-color: #43A047;
    border-color: #43A047;
}
.btn.btn-primary:hover {
    color: #43a047;
    background-color: #FFFFFF;
    border-color: #43a047;
}
.btn.btn-primary:focus {
    background-color: #f00;
}

通常我可以将Resturant数据作为

获取
Restaurant table

ID| name      | reviews
1 | subway    | 1,2
2 | macdonald | 3

Review table

ID| review
1 | review about subway1
2 | review about subway2
3 | review about macdonald

但是我想订购评论栏的数量。 现在我做了这样的判决,但是徒劳无功。

$query = $this->em->createQuery(
                "SELECT a FROM Restaurant a);

它显示错误。

预期的已知功能,得到'计数'

1 个答案:

答案 0 :(得分:1)

您应该在评论表中包含餐馆ID,这样您就可以跳过在餐厅餐桌中使用逗号分隔字符串的复杂情况。

Restaurant table

ID| name      
1 | subway    
2 | macdonald 

Review table

ID| restaurant ID | review
1 | 1             | review about subway1
2 | 1             | review about subway2
3 | 2             | review about macdonald

然后你可以这样做:

$query = $this->em->createQuery(
    "SELECT a, count(a.reviews) count1 FROM Restaurant a 
        INNER JOIN Review r 
        order by count1 ");