Lis*_*ele 5 sql-order-by createquery symfony
我有一个名为School的实体,它有一个ManyToMany关系"方法"
class School{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
protected $id;
/**
* @ORM\ManyToMany(targetEntity="Method", inversedBy="schools")
* @ORM\JoinTable(name="lk_access_method")
* @ORM\OrderBy({"name" = "asc"})
*/
protected $methods;
}
Run Code Online (Sandbox Code Playgroud)
现在我想写一个createQueryBuilder由德计数"方法"订单
就像是:
$schools = $this->createQueryBuilder('s')
->select("s")
->orderBy("COUNT(s.methods)")
->addOrderBy("s.name")
->setMaxResults($count)
->setFirstResult($pos)
->getQuery()
->getResult();
Run Code Online (Sandbox Code Playgroud)
但那不起作用......任何人都有更好的主意吗?
Ale*_* B. 12
尝试添加联接
->join('s.methods', 'm')
->orderBy("COUNT(m.id)")
Run Code Online (Sandbox Code Playgroud)
编辑.
->addSelect('COUNT(m.id) as nMethods')
->join('s.methods', 'm')
->groupBy('s.id')
->orderBy("nMethods", 'DESC')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13571 次 |
| 最近记录: |