Doctrine řazení nepoužitých otázek v testu
- breeta
- Člen | 68
Zdravím, mám dotaz v Doctrine pro výběr jedné nepoužité otázky do testu dle historie:
return $this->createQueryBuilder('t')
->leftJoin('t.testKind', 'tk')
->leftJoin('t.testHistoryQuestions', 'thq')
->leftJoin('thq.testHistory', 'th')
->andWhere('tk = :testKind')->setParameter('testKind', $testKind)
->addSelect("(CASE WHEN th.user = :user THEN 1 ELSE 0 END) AS HIDDEN history")
->setParameter('user', $user)
->orderBy('history')
->setMaxResults(1)
->getQuery()
->getOneOrNullResult()
;
Tento dotaz funguje, dokud se nepoužijí všechny otázky v historii, pak
to vrací vždy jen tu první.
Jak k tomu použít ještě řazení dle množství v historii?
- David Matějka
- Moderator | 6445
jestli to chapu, tak zhruba nasledovne:
- k
leftJoin('thq.testHistory', 'th')
pridat podminkuth.user = :user
- pridat group by
t.id
- a order by
count(th.id) asc