如何将两个现有的虚拟列添加到symfony 2类中

时间:2014-07-16 12:24:52

标签: symfony doctrine-orm knppaginator

我有一个映射到数据库表的类User,它有两个变量/列:name和surname:

/**
 * @ORM\Column(type="string", length=255)
 * @Assert\NotBlank()
 * @Assert\Length(max = 255)
 */
private $name;

/**
 * @ORM\Column(type="string", length=255)
 * @Assert\NotBlank()
 * @Assert\Length(max = 255)
 */
private $surname;

我想添加nameSurname,它将从上面的两个中断。

我需要这个,因为有可能对整个名称进行排序和搜索,我使用KNPPaginator包在输出上创建可排序表。结果应该是具有姓名和姓氏的可排序和可搜索的列。

如果可能,最好将解决方案作为注释。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

添加您的专栏:

/**
 * @ORM\Column(type="string", length=255)
 * @Assert\NotBlank()
 * @Assert\Length(max = 255)
 */

private $nameSurname;

添加生命周期回调:

/**
 * @ORM\PrePersist
 */
public function setNameSurname()
{
    $this->nameSurname = $this->name . $this->surname;
}

不要忘记在行注释中插入以下行:

@ORM\HasLifecycleCallbacks()

您可以在documentation

中阅读所有这些内容