学说属性映射

时间:2013-03-04 08:54:43

标签: php symfony doctrine-orm

我刚开始使用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方法。

1 个答案:

答案 0 :(得分:2)

你可以这样做,我只是在你的类中标记一个PreUpdate方法,然后开始处理你的$ template_body变量。

请更改

* @ORM\HasLifecycleCallbacks() 

* @ORM\HasLifecycleCallbacks 

并创建一个类似的函数..

/**
 * @PreUpdate
 */
public function myUpdateFunction()
{
   // Do stuff
}