5
Mam podmiot o nazwie szkoły, ma związek ManyToMany "Metody"Symfony2 QueryBuilder orderby Ilość 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;
}
Teraz chcę napisać createQueryBuilder że zamówienia przez De Count "metod"
Something na przykład:
$schools = $this->createQueryBuilder('s')
->select("s")
->orderBy("COUNT(s.methods)")
->addOrderBy("s.name")
->setMaxResults($count)
->setFirstResult($pos)
->getQuery()
->getResult();
Ale to nie zadziałało ... ktoś ma lepszy pomysł?
nie działa ... mój błąd: [Błąd składni] Linia 0 kol 106: Błąd: Oczekiwano końca łańcucha, got '(' na linii, gdzie mówi count ( –
edytować swoje Odpowiedź, spróbuj jeszcze raz –
Tak, to działa dobrze! Dzięki! , ale teraz mam dwuwymiarową tablicę jednostki szkolnej i nMethods Tworzę nową tablicę w pętli foreach z tylko jednostką Szkoła w nim, lub jest istnieje lepszy sposób: –