Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
44.44% covered (danger)
44.44%
4 / 9
50.00% covered (danger)
50.00%
1 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
RepositoryUtils
44.44% covered (danger)
44.44%
4 / 9
50.00% covered (danger)
50.00%
1 / 2
2.69
0.00% covered (danger)
0.00%
0 / 1
 addWhereClause
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
 addInClauseCollectivities
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace App\Application\Traits;
4
5use Doctrine\ORM\QueryBuilder;
6
7trait RepositoryUtils
8{
9    /**
10     * Add a where clause to query.
11     */
12    protected function addWhereClause(QueryBuilder $qb, string $key, $value, $operator = '='): QueryBuilder
13    {
14        return $qb
15            ->andWhere("o.{$key} $operator :{$key}_value")
16            ->setParameter("{$key}_value", $value)
17        ;
18    }
19
20    protected function addInClauseCollectivities(QueryBuilder $qb, array $collectivities)
21    {
22        $qb->andWhere(
23            $qb->expr()->in('collectivite', ':collectivities')
24        )
25            ->setParameter('collectivities', $collectivities)
26        ;
27    }
28}