[英]sonata admin - get post data
我正在学习 symfony2 和奏鸣曲管理,但遇到了一些问题,这就是其中之一。
我创建了一个管理类,它扩展了奏鸣曲管理,以下对我不起作用:
$this->getForm()->get('page')
或者
$this->getRequest()->request->get('page')
我正在尝试在configureFormFields
传递一些隐藏字段,但在提交表单后我无法使用上述方法访问它们。 我可以看到请求数组,但get('page')
返回 null。 此外,请求数组是多维的。
任何建议表示赞赏。
我正在尝试做的简单示例如下:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('title')
->add(
'subobject',
'hidden',
array(
'mapped' => false,
'data' => 'sub'
)
)
;
}
public function prePersist($object)
{
$subobject_request = $this->getRequest()->request->get('subobject');
print_r($subobject_request); //is null
die();
}
也许有点晚了,但我希望它对某人有所帮助:
$this->getForm()->get('subobject')->getData()
你的尝试看起来不错。 看这篇文章: https : //groups.google.com/forum/#!topic/sonata- users/ NS0mTAAHt7o
我可以成功使用:
public function preUpdate($object)
{
$uniqid = $this->getRequest()->query->get('uniqid');
$formData = $this->getRequest()->request->get($uniqid);
var_dump($formData);exit;
}
检索所有提交的元素。
我不确定,但是对于映射字段,您可以直接在 prepersist 的参数中获取值。
您是否尝试直接从 $object 访问您的“子”值? 喜欢
$object->sub;
$this->getRequest() 适用于 symfony 但我认为它在奏鸣曲管理包中有点不同..
只是关系Office > Plan
和寻找道具Plan.nameEn
一个例子。
在OfficeAdmin.php
:
protected function configureFormFields(FormMapper $formMapper) {
$formMapper->add('plan', 'sonata_type_admin')
}
public function preUpdate($marina) {
if ($planName = $this->getForm()->get('plan')->get('name_en')->getData()) {}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.