Doctrine QueryBuilder více Joinů
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Jarek159
- Člen | 23
Zdravím,
mám následující dotaz:
$qb->select('u.name')
->from('App\PermissionsInheritance', 'p')
->innerJoin('App\Inqplayers', 'u', 'WITH', 'p.parent = \'HAdmin\' or p.parent = \'Admin\' or p.parent = \'Helper\' or p.parent = \'Builder\'')
->where('u.uuid = p.child');
Potřeboval bych ho však rozšířit o další join do tabulky App\Users a, kde bude a.username = u.name.
Zkoušel jsem hledat, ale stále se mi to nějak nedaří. A projíždět výsledek tohoto foreachem a dělat nový dotaz se mi nezdá jako nejlepší řešení.
- Jiří Nápravník
- Člen | 710
Na další řádek přihod ->innerJoin() s těmi konkrétními požadavky. V tvém případě tedy:
->innerJoin('App\Users', 'users', 'WITH', 'a.username = u.name')
nicméně spojovat to přes stringy, to celkem zabere hodně času při velkém množství dat. Lepší máš pospojovat to přímo přes entity a jejich id.