Passed
Push — master ( 21e202...0aab8f )
by Petr
03:53
created

EventRepository   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 100%

Importance

Changes 4
Bugs 0 Features 1
Metric Value
wmc 2
lcom 0
cbo 4
dl 0
loc 29
ccs 6
cts 6
cp 1
rs 10
c 4
b 0
f 1

2 Methods

Rating   Name   Duplication   Size   Complexity  
A findOneByNameAndDate() 0 9 1
A findLike() 0 9 1
1
<?php
2
3
namespace AppBundle\Entity\Repository;
4
5
use AppBundle\Entity\Event;
6
use AppBundle\Entity\Infrasctucture\AbstractRepository;
7
use Doctrine\Common\Collections\ArrayCollection;
8
9
/** {@inheritDoc} */
10
class EventRepository extends AbstractRepository
11
{
12
13
    /**
14
     * @return Event|object|null
15
     */
16
    public function findOneByNameAndDate(string $name, \DateTime $date)
17
    {
18
        return $this->findOneBy(
19
            [
20
                'name' => $name,
21
                'date' => $date,
22
            ]
23
        );
24
    }
25
26
    /**
27
     * @return Event[]
28
     */
29 17
    public function findLike(string $likeString): ArrayCollection
30
    {
31 17
        $queryBuilder = $this->createQueryBuilder('event');
32 17
        $queryBuilder->select('event');
33 17
        $queryBuilder->where('event.name LIKE :eventName');
34 17
        $queryBuilder->setParameter('eventName', '%' . $likeString . '%');
35
36 17
        return new ArrayCollection($queryBuilder->getQuery()->getResult());
37
    }
38
}
39