2222 */
2323abstract class Repository implements RepositoryInterface
2424{
25- /**
26- * @var QueryBuilder
27- */
2825 private QueryBuilder $ queryBuilder ;
2926
3027 /**
31- * Constructor.
32- *
33- * @param EntityManagerInterface $entityManager The entity manager
34- * @param class-string $entityType The entity class
35- * @param string $alias Entity alias
28+ * @param class-string $entityType
3629 */
3730 public function __construct (
3831 protected EntityManagerInterface $ entityManager ,
@@ -56,10 +49,8 @@ public function __construct(
5649 */
5750 public function collect (): Collection
5851 {
59- /** @var array<object > $results */
52+ /** @var array<T > $results */
6053 $ results = $ this ->queryBuilder ->getQuery ()->getResult () ?? [];
61-
62- /** @var Collection */
6354 return new Collection ($ results );
6455 }
6556
@@ -80,9 +71,9 @@ function (QueryBuilder $queryBuilder) use (
8071 }
8172 );
8273
83- return new DoctrinePaginator (
84- new OrmPaginator ($ repository ->queryBuilder ->getQuery ())
85- );
74+ /** @var OrmPaginator<T> $paginator */
75+ $ paginator = new OrmPaginator ($ repository ->queryBuilder ->getQuery ());
76+ return new DoctrinePaginator ( $ paginator );
8677 }
8778
8879 /**
@@ -116,9 +107,6 @@ public function filter(callable $filter): static
116107 return $ clone ;
117108 }
118109
119- /**
120- * @inheritDoc
121- */
122110 public function __clone (): void
123111 {
124112 $ this ->queryBuilder = clone $ this ->queryBuilder ;
0 commit comments