Comment::setArticle()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 6
rs 9.4285
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
namespace AppBundle\Entity;
4
5
use Doctrine\ORM\Mapping as ORM;
6
use Gedmo\Mapping\Annotation as Gedmo;
7
use Symfony\Component\Validator\Constraints as Assert;
8
9
/**
10
 * Comment
11
 *
12
 * @ORM\Table(name="comment")
13
 * @ORM\Entity(repositoryClass="AppBundle\Repository\CommentRepository")
14
 */
15
class Comment
16
{
17
    /**
18
     * @var int
19
     *
20
     * @ORM\Column(name="id", type="integer")
21
     * @ORM\Id
22
     * @ORM\GeneratedValue(strategy="AUTO")
23
     */
24
    private $id;
25
26
    /**
27
     * @ORM\ManyToOne(targetEntity="User", inversedBy="comments")
28
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
29
     *
30
     *  @Assert\NotBlank(message = "User field should not be blank")
31
     */
32
    private $user;
33
34
    /**
35
     * @var string
36
     *
37
     * @ORM\Column(name="name", type="string", length=50, nullable=true)
38
     *
39
     * @Assert\Length(max = 50)
40
     */
41
    private $name;
42
43
    /**
44
     * @var string
45
     *
46
     * @ORM\Column(name="email", type="string", length=50, nullable=true)
47
     *
48
     * @Assert\Email()
49
     */
50
    private $email;
51
52
    /**
53
     * @ORM\ManyToOne(targetEntity="Article", inversedBy="comments")
54
     * @ORM\JoinColumn(name="article_id", referencedColumnName="id")
55
     *
56
     * @Assert\NotBlank(message = "Article field should not be blank")
57
     */
58
    private $article;
59
60
    /**
61
     * @var string
62
     *
63
     * @ORM\Column(name="text", type="text", nullable=true)
64
     *
65
     * @Assert\Length(max = 1000)
66
     */
67
    private $text;
68
69
    /**
70
     * @var int
71
     *
72
     * @ORM\Column(name="rating", type="integer", nullable=true)
73
     *
74
     * @Assert\Range(min = 0, max = 5)
75
     */
76
    private $rating;
77
78
    /**
79
     * @var \DateTime
80
     *
81
     * @Gedmo\Timestampable(on="create")
82
     * @ORM\Column(name="created_at", type="datetime")
83
     *
84
     * @Assert\DateTime()
85
     */
86
    private $createdAt;
87
88
    /**
89
     * @var \DateTime
90
     *
91
     * @Gedmo\Timestampable(on="change", field={"text", "rating"})
92
     * @ORM\Column(name="updated_at", type="datetime", nullable=true)
93
     *
94
     * @Assert\DateTime()
95
     */
96
    private $updatedAt;
97
98
    /**
99
     * @var \DateTime
100
     *
101
     * @ORM\Column(name="deleted_at", type="datetime", nullable=true)
102
     *
103
     * @Assert\DateTime()
104
     */
105
    private $deletedAt;
106
107
108
    /**
109
     * Get id
110
     *
111
     * @return int
112
     */
113
    public function getId()
114
    {
115
        return $this->id;
116
    }
117
118
    /**
119
     * Set text
120
     *
121
     * @param string $text
122
     *
123
     * @return Comment
124
     */
125
    public function setText($text)
126
    {
127
        $this->text = $text;
128
129
        return $this;
130
    }
131
132
    /**
133
     * Get text
134
     *
135
     * @return string
136
     */
137
    public function getText()
138
    {
139
        return $this->text;
140
    }
141
142
    /**
143
     * Set rating
144
     *
145
     * @param integer $rating
146
     *
147
     * @return Comment
148
     */
149
    public function setRating($rating)
150
    {
151
        $this->rating = $rating;
152
153
        return $this;
154
    }
155
156
    /**
157
     * Get rating
158
     *
159
     * @return int
160
     */
161
    public function getRating()
162
    {
163
        return $this->rating;
164
    }
165
166
    /**
167
     * Set createdAt
168
     *
169
     * @param \DateTime $createdAt
170
     *
171
     * @return Comment
172
     */
173
    public function setCreatedAt($createdAt)
174
    {
175
        $this->createdAt = $createdAt;
176
177
        return $this;
178
    }
179
180
    /**
181
     * Get createdAt
182
     *
183
     * @return \DateTime
184
     */
185
    public function getCreatedAt()
186
    {
187
        return $this->createdAt;
188
    }
189
190
    /**
191
     * Set updatedAt
192
     *
193
     * @param \DateTime $updatedAt
194
     *
195
     * @return Comment
196
     */
197
    public function setUpdatedAt($updatedAt)
198
    {
199
        $this->updatedAt = $updatedAt;
200
201
        return $this;
202
    }
203
204
    /**
205
     * Get updatedAt
206
     *
207
     * @return \DateTime
208
     */
209
    public function getUpdatedAt()
210
    {
211
        return $this->updatedAt;
212
    }
213
214
    /**
215
     * Set deletedAt
216
     *
217
     * @param \DateTime $deletedAt
218
     *
219
     * @return Comment
220
     */
221
    public function setDeletedAt($deletedAt)
222
    {
223
        $this->deletedAt = $deletedAt;
224
225
        return $this;
226
    }
227
228
    /**
229
     * Get deletedAt
230
     *
231
     * @return \DateTime
232
     */
233
    public function getDeletedAt()
234
    {
235
        return $this->deletedAt;
236
    }
237
238
    /**
239
     * Set user
240
     *
241
     * @param \AppBundle\Entity\User $user
242
     *
243
     * @return Comment
244
     */
245
    public function setUser(User $user = null)
246
    {
247
        $this->user = $user;
248
249
        return $this;
250
    }
251
252
    /**
253
     * Get user
254
     *
255
     * @return \AppBundle\Entity\User
256
     */
257
    public function getUser()
258
    {
259
        return $this->user;
260
    }
261
262
    /**
263
     * Set article
264
     *
265
     * @param \AppBundle\Entity\Article $article
266
     *
267
     * @return Comment
268
     */
269
    public function setArticle(Article $article = null)
270
    {
271
        $this->article = $article;
272
273
        return $this;
274
    }
275
276
    /**
277
     * Get article
278
     *
279
     * @return \AppBundle\Entity\Article
280
     */
281
    public function getArticle()
282
    {
283
        return $this->article;
284
    }
285
286
    /**
287
     * Set name
288
     *
289
     * @param string $name
290
     *
291
     * @return Comment
292
     */
293
    public function setName($name)
294
    {
295
        $this->name = $name;
296
297
        return $this;
298
    }
299
300
    /**
301
     * Get name
302
     *
303
     * @return string
304
     */
305
    public function getName()
306
    {
307
        return $this->name;
308
    }
309
310
    /**
311
     * Set email
312
     *
313
     * @param string $email
314
     *
315
     * @return Comment
316
     */
317
    public function setEmail($email)
318
    {
319
        $this->email = $email;
320
321
        return $this;
322
    }
323
324
    /**
325
     * Get email
326
     *
327
     * @return string
328
     */
329
    public function getEmail()
330
    {
331
        return $this->email;
332
    }
333
}
334