我刚开始使用symfony和doctrine。我有一个简单的实体,其中一个属性与数据库无关。此属性应包含xml文件的内容(我想制作xml文件,当doctrine向数据库添加行时)。
/**
* Layouts
*
* @ORM\Table(name="layouts")
* @ORM\Entity
* @ORM\HasLifecycleCallbacks()
*/
class Layouts
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="layouts_id_seq", allocationSize=1, initialValue=1)
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, nullable=false)
*/
private $name;
/**
* ???????
*/
private $template_body;
...
}
如何描述$template_body
财产?在没有离开属性描述的情况下,我遇到了一个问题 - 当我在表单中编辑此属性时,该学说不会导致preUpdate方法。
答案 0 :(得分:2)
你可以这样做,我只是在你的类中标记一个PreUpdate方法,然后开始处理你的$ template_body变量。
请更改
* @ORM\HasLifecycleCallbacks()
到
* @ORM\HasLifecycleCallbacks
并创建一个类似的函数..
/**
* @PreUpdate
*/
public function myUpdateFunction()
{
// Do stuff
}