@@ 640-653 (lines=14) @@ | ||
637 | /** |
|
638 | * @group DBAL-172 |
|
639 | */ |
|
640 | public function testReferenceJoinFromJoin() |
|
641 | { |
|
642 | $qb = new QueryBuilder($this->conn); |
|
643 | ||
644 | $qb->select('COUNT(DISTINCT news.id)') |
|
645 | ->from('cb_newspages', 'news') |
|
646 | ->innerJoin('news', 'nodeversion', 'nv', 'nv.refId = news.id AND nv.refEntityname=\'News\'') |
|
647 | ->innerJoin('invalid', 'nodetranslation', 'nt', 'nv.nodetranslation = nt.id') |
|
648 | ->innerJoin('nt', 'node', 'n', 'nt.node = n.id') |
|
649 | ->where('nt.lang = :lang AND n.deleted != 1'); |
|
650 | ||
651 | $this->expectException('Doctrine\DBAL\Query\QueryException', "The given alias 'invalid' is not part of any FROM or JOIN clause table. The currently registered aliases are: news, nv."); |
|
652 | self::assertEquals('', $qb->getSQL()); |
|
653 | } |
|
654 | ||
655 | /** |
|
656 | * @group DBAL-172 |
|
@@ 658-671 (lines=14) @@ | ||
655 | /** |
|
656 | * @group DBAL-172 |
|
657 | */ |
|
658 | public function testSelectFromMasterWithWhereOnJoinedTables() |
|
659 | { |
|
660 | $qb = new QueryBuilder($this->conn); |
|
661 | ||
662 | $qb->select('COUNT(DISTINCT news.id)') |
|
663 | ->from('newspages', 'news') |
|
664 | ->innerJoin('news', 'nodeversion', 'nv', "nv.refId = news.id AND nv.refEntityname='Entity\\News'") |
|
665 | ->innerJoin('nv', 'nodetranslation', 'nt', 'nv.nodetranslation = nt.id') |
|
666 | ->innerJoin('nt', 'node', 'n', 'nt.node = n.id') |
|
667 | ->where('nt.lang = ?') |
|
668 | ->andWhere('n.deleted = 0'); |
|
669 | ||
670 | self::assertEquals("SELECT COUNT(DISTINCT news.id) FROM newspages news INNER JOIN nodeversion nv ON nv.refId = news.id AND nv.refEntityname='Entity\\News' INNER JOIN nodetranslation nt ON nv.nodetranslation = nt.id INNER JOIN node n ON nt.node = n.id WHERE (nt.lang = ?) AND (n.deleted = 0)", $qb->getSQL()); |
|
671 | } |
|
672 | ||
673 | /** |
|
674 | * @group DBAL-442 |