PageRelatedPagesTrait::getRelatedPages()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 1 Features 0
Metric Value
cc 1
eloc 1
c 1
b 1
f 0
nc 1
nop 0
dl 0
loc 3
ccs 0
cts 3
cp 0
crap 2
rs 10
1
<?php
2
3
namespace PiedWeb\CMSBundle\Entity;
4
5
use Doctrine\Common\Collections\ArrayCollection;
6
use Doctrine\Common\Collections\Collection;
7
use Doctrine\ORM\Mapping as ORM;
8
9
trait PageRelatedPagesTrait
10
{
11
    /**
12
     * @ORM\ManyToMany(targetEntity="PiedWeb\CMSBundle\Entity\PageInterface")
13
     */
14
    protected $relatedPages;
15
16
    public function __constructRelatedPagesT()
17
    {
18
        $this->relatedPages = new ArrayCollection();
19
    }
20
21
    /**
22
     * @return Collection|Page[]
23
     */
24
    public function getRelatedPages(): Collection
25
    {
26
        return $this->relatedPages;
27
    }
28
29
    public function addRelatedPage(PageInterface $relatedPage): self
30
    {
31
        if (! $this->relatedPages->contains($relatedPage)) {
32
            $this->relatedPages[] = $relatedPage;
33
        }
34
35
        return $this;
36
    }
37
38
    public function removeRelatedPage(PageInterface $relatedPage): self
39
    {
40
        if ($this->relatedPages->contains($relatedPage)) {
41
            $this->relatedPages->removeElement($relatedPage);
42
        }
43
44
        return $this;
45
    }
46
}
47