我想覆盖现有的Entity的getter和setter。有可能这样做吗?
我想为getter和setter添加额外的逻辑。
由于
杰克他答案 0 :(得分:0)
为此,您必须创建一个扩展您要覆盖的实体的实体
e.g 我的基础实体
abstract class AbstractEntity
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var \DateTime
*
* @ORM\Column(type="datetime")
* @Gedmo\Timestampable(on="create")
*/
protected $createdAt;
/**
* @var \DateTime
*
* @ORM\Column(type="datetime", nullable=true)
* @Gedmo\Timestampable(on="update")
*/
protected $updatedAt;
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set createdAt
*
* @param \DateTime $createdAt
*
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
}
/**`enter code here`
* Get created
*
* @return \DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Set updatedAt
*
* @param \DateTime $updatedAt
*
*/
public function setUpdatedAt($updatedAt)
{
$this->updatedAt = $updatedAt;
}
/**
* Get updatedAt
*
* @return \DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
}
然后在我的实体中
class Group extends BaseEntity
{
public function __construct()
{
$this->children = [];
$this->users = [];
$this->accounts = [];
$this->isActive = true;
}
/**
* Set updatedAt
*
* @param \DateTime $updatedAt
*
*/
public function setCreatedAt($createdAt)
{
parent::setCreatedAt($createdAt); //
TODO: Override the implementation
}
}
希望它会有所帮助