<?php
namespace App\AtechNet\CoreBundle\Entity;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\HasLifecycleCallbacks;
use Doctrine\ORM\Mapping\JoinColumn;
use Doctrine\ORM\Mapping\ManyToOne;
use Doctrine\ORM\Mapping\MappedSuperclass;
/**
* @MappedSuperclass
* @HasLifecycleCallbacks
*/
abstract class AbstractSignedEntity extends AbstractEntity
{
/**
* @var User
*
* @ManyToOne(targetEntity="User")
* @JoinColumn(name="created_by", referencedColumnName="id", nullable=true)
*/
private $createdBy;
/**
* @var User
*
* @ManyToOne(targetEntity="User")
* @JoinColumn(name="updated_by", referencedColumnName="id", nullable=true)
*/
private $updatedBy;
/**
* @var ?\DateTime
*
* @Column(name="updated_by_time", type="datetime", nullable=true)
*/
private $updatedByTime;
/**
* @return User
*/
public function getCreatedBy()
{
return $this->createdBy;
}
/**
* @param User $createdBy
*/
public function setCreatedBy($createdBy)
{
$this->createdBy = $createdBy;
}
/**
* @return User
*/
public function getUpdatedBy()
{
return $this->updatedBy;
}
/**
* @param ?User $updatedBy
*/
public function setUpdatedBy(?User $updatedBy)
{
$this->updatedBy = $updatedBy;
$this->updatedByTime = new \DateTime();
}
public function getUpdatedByTime()
{
return $this->updatedByTime;
}
/**
* @param ?\DateTime|null $updatedByTime
* @return void
*/
public function setUpdatedByTime(?\DateTime $updatedByTime)
{
$this->updatedByTime = $updatedByTime;
}
}