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
+
0
-

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
+
0
-

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.