zend-blog-3-backend
83 строки · 1.4 Кб
1<?php
2
3namespace App\Entity\Traits;
4
5use DateTime;
6use Doctrine\ORM\Mapping as ORM;
7
8trait ModifyEntityTrait
9{
10/**
11* @var DateTime
12*
13* @ORM\Column(type="milliseconds_dt", options={"default": "CURRENT_TIMESTAMP(3)"})
14*/
15protected $timeCreated;
16
17/**
18* @var DateTime
19*
20* @ORM\Column(type="milliseconds_dt", options={"default": "CURRENT_TIMESTAMP(3)"})
21*/
22protected $lastUpdate;
23
24/**
25* @param DateTime $timeCreated
26*
27* @return $this
28*/
29public function setTimeCreated(DateTime $timeCreated)
30{
31$this->timeCreated = $timeCreated;
32
33return $this;
34}
35
36/**
37* @return DateTime
38*/
39public function getTimeCreated(): DateTime
40{
41return $this->timeCreated;
42}
43
44/**
45* @param DateTime $lastUpdate
46*
47* @return $this
48*/
49public function setLastUpdate(DateTime $lastUpdate)
50{
51$this->lastUpdate = $lastUpdate;
52
53return $this;
54}
55
56/**
57* @return DateTime
58*/
59public function getLastUpdate(): DateTime
60{
61return $this->lastUpdate;
62}
63
64/**
65* @ORM\PrePersist
66*/
67public function prePersist()
68{
69if (!$this->timeCreated) {
70$this->timeCreated = new DatetIme();
71}
72
73$this->lastUpdate = new DatetIme();
74}
75
76/**
77* @ORM\PreUpdate
78*/
79public function preUpdate()
80{
81$this->lastUpdate = new DatetIme();
82}
83}
84