5
私は学校と呼ばれるエンティティを持っている、それは多対多の関係「メソッド」を持っているSymfony2のquerybuilder orderbyの数多対多
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;
}
今、私はド数「メソッド」によって、受注
が何かというcreateQueryBuilderを書きたいですlike:
$schools = $this->createQueryBuilder('s')
->select("s")
->orderBy("COUNT(s.methods)")
->addOrderBy("s.name")
->setMaxResults($count)
->setFirstResult($pos)
->getQuery()
->getResult();
しかし、それはうまくいかなかった...誰かが良いアイデアを持っていますか?
機能していません... 私のエラー:エラー:[構文エラー]行0、106 COL、ライン上の '(' だ文字列の終了予定は言うCOUNT( –
編集を私の答。他には感謝! !正常に動作します –
はいを試みるが、今、私は学校のエンティティとnMethodsの2次元配列を得た。 私はそれで唯一のエンティティ学校でforeachループで新しい配列を作る、またはであることを確認してください。 'COUNT(m.id)HIDDEN nMethods'、これは動作します:そこより良い方法 –