Passed
Push — master ( 9d8bb8...60c6b0 )
by Petr
03:23
created

EventRepository   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 100%

Importance

Changes 4
Bugs 0 Features 1
Metric Value
wmc 3
lcom 0
cbo 4
dl 0
loc 37
ccs 8
cts 8
cp 1
rs 10
c 4
b 0
f 1

3 Methods

Rating   Name   Duplication   Size   Complexity  
A findOneById() 0 4 1
A findLike() 0 9 1
A findOneByNameAndDate() 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|null
15
     */
16 7
    public function findOneById(string $id)
17
    {
18 7
        return $this->find($id);
19
    }
20
21
    /**
22
     * @return Event|object|null
23
     */
24
    public function findOneByNameAndDate(string $name, \DateTime $date)
25
    {
26
        return $this->findOneBy(
27
            [
28
                'name' => $name,
29
                'date' => $date,
30
            ]
31
        );
32
    }
33
34
    /**
35
     * @return Event[]
36
     */
37 9
    public function findLike(string $likeString): ArrayCollection
38
    {
39 9
        $queryBuilder = $this->createQueryBuilder('event');
40 9
        $queryBuilder->select('event');
41 9
        $queryBuilder->where('event.name LIKE :eventName');
42 9
        $queryBuilder->setParameter('eventName', '%' . $likeString . '%');
43
44 9
        return new ArrayCollection($queryBuilder->getQuery()->getResult());
45
    }
46
}
47