假设我有一个汽车实体。除了典型的汽车属性,我有updatedBy属性
在奏鸣曲中,我使用AppBundle \ Admin \ CarAdmin.php创建了一个CRUD管理页面
在CarAdmin类中,我有configureListFields,configureFormFields等所需的方法......
我猜我需要使用prePersist($ object)方法添加updatedBy,但是我面对的是$ this-> getUser()不可用
问题是,如何让登录用户填充updateBy属性?
答案 0 :(得分:3)
您可以使用$this->getConfigurationPool()->getContainer()->get('security.context')->getToken()->getUser()
获取登录用户。在你的情况下,你需要做这样的事情:
public function setUpdatedByAttribute($car)
{
$user = $this->getConfigurationPool()->getContainer()->get('security.context')->getToken()->getUser();
$car->setUpdatedBy($user);
}
public function prePersist($car)
{
$this->setUpdatedByAttribute($car);
}
public function preUpdate($car)
{
$this->setUpdatedByAttribute($car);
}