Tag::removePost()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
c 1
b 0
f 0
dl 0
loc 5
rs 10
cc 2
nc 2
nop 1
1
<?php
2
3
namespace Zenstruck\Foundry\Tests\Fixtures\Entity;
4
5
use Doctrine\Common\Collections\ArrayCollection;
6
use Doctrine\ORM\Mapping as ORM;
7
8
/**
9
 * @ORM\Entity
10
 * @ORM\Table(name="tags")
11
 */
12
class Tag
13
{
14
    /**
15
     * @ORM\Id
16
     * @ORM\GeneratedValue
17
     * @ORM\Column(type="integer")
18
     */
19
    private $id;
0 ignored issues
show
introduced by
The private property $id is not used, and could be removed.
Loading history...
20
21
    /**
22
     * @ORM\Column(type="string", length=255)
23
     */
24
    private $name;
25
26
    /**
27
     * @ORM\ManyToMany(targetEntity=Post::class, mappedBy="tags")
28
     */
29
    private $posts;
30
31
    public function __construct()
32
    {
33
        $this->posts = new ArrayCollection();
34
    }
35
36
    public function getName(): ?string
37
    {
38
        return $this->name;
39
    }
40
41
    public function setName($name)
42
    {
43
        $this->name = $name;
44
    }
45
46
    public function getPosts()
47
    {
48
        return $this->posts;
49
    }
50
51
    public function addPost(Post $post)
52
    {
53
        if (!$this->posts->contains($post)) {
54
            $this->posts[] = $post;
55
            $post->addTag($this);
56
        }
57
    }
58
59
    public function removePost(Post $post)
60
    {
61
        if ($this->posts->contains($post)) {
62
            $this->posts->removeElement($post);
63
            $post->removeTag($this);
64
        }
65
    }
66
}
67