diff --git a/tests/Type/Doctrine/data/QueryResult/queryBuilderGetQuery.php b/tests/Type/Doctrine/data/QueryResult/queryBuilderGetQuery.php index c0cf3068..f7072422 100644 --- a/tests/Type/Doctrine/data/QueryResult/queryBuilderGetQuery.php +++ b/tests/Type/Doctrine/data/QueryResult/queryBuilderGetQuery.php @@ -15,6 +15,9 @@ class QueryBuilderGetQuery { + + use TraitWithQueryBuilder; + private function getQueryBuilderMany(EntityManagerInterface $em): QueryBuilder { return $em->createQueryBuilder() @@ -33,6 +36,11 @@ public function getQueryDirectly(EntityManagerInterface $em): void assertType('list<QueryResult\Entities\Many>', $this->getQueryBuilderMany($em)->getQuery()->getResult()); } + public function getQueryFromTrait(EntityManagerInterface $em): void + { + assertType('list<QueryResult\Entities\Many>', $this->getQueryBuilderFromTrait($em)->getQuery()->getResult()); + } + public function testQueryTypeParametersAreInfered(EntityManagerInterface $em): void { $query = $em->createQueryBuilder() diff --git a/tests/Type/Doctrine/data/QueryResult/traitWithQueryBuilder.php b/tests/Type/Doctrine/data/QueryResult/traitWithQueryBuilder.php new file mode 100644 index 00000000..8612911b --- /dev/null +++ b/tests/Type/Doctrine/data/QueryResult/traitWithQueryBuilder.php @@ -0,0 +1,18 @@ +<?php declare(strict_types = 1); + +namespace QueryResult\CreateQuery; + +use Doctrine\ORM\EntityManagerInterface; +use Doctrine\ORM\QueryBuilder; +use QueryResult\Entities\Many; + +trait TraitWithQueryBuilder +{ + public function getQueryBuilderFromTrait(EntityManagerInterface $em): QueryBuilder + { + return $em->createQueryBuilder() + ->select('m') + ->from(Many::class, 'm'); + } + +}