我使用eventlisterner检查用户/作者返回的一些值,然后再将它们提交给数据库。
我的表单允许ROLE_USERS将某些属性(如statut)更改为实体文章。文章具有statut(已发布,删除)等属性并且已被删除('作者想删除此文章' null'),这些属性允许ROLE_ADMIN轻松查看某些文章。
反正。当作者提交 statut =>' DELETE'要将 tobechecked 的值转换为=> '作者想要删除这篇文章'。
这是我尝试的但这不起作用。
class Article extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('Statut', ...);
->add('toBeChecked', ...);
$dynamicSubmissionFunc = function (FormEvent $event)
{
$data = $event->getData();
if($data['statut'] == 'DELETE')
{
// HOW CAN I MODIFY HERE THE VALUE OF ARTICLE ATTRIBUTE
$data['toBeChecked'] = 'author wants to delete this article';
// nothing is changed in the attribute toBeChecked.
}
}
$builder->addEventListener(FormEvents::PRE_SUBMIT, $dynamicSubmissionFunc);
}
}
答案 0 :(得分:2)
确定。我想通了。您需要将数据设置回事件:
$event->setData($data);