Php 索纳塔管理员-获取post数据
我正在学习symfony2和sonata admin,遇到了一些问题,这就是其中之一。Php 索纳塔管理员-获取post数据,php,symfony,sonata-admin,Php,Symfony,Sonata Admin,我正在学习symfony2和sonata admin,遇到了一些问题,这就是其中之一。 我创建了一个admin类,它扩展了sonata admin,以下内容对我不起作用: $this->getForm()->get('page') 或 $this->getRequest()->request->get('page') 我试图传递configureFormFields中的一些隐藏字段,但在提交表单后,我无法使用上面的方法访问它们。我可以看到请求数组,但get('page')返回null。此外,请求
我创建了一个admin类,它扩展了sonata admin,以下内容对我不起作用:
$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();
}
我不确定,但对于mapped字段,您可以在prepersist的参数中直接获得值 您是否尝试直接从$object访问“子”值?像
$object->sub;
$this->getRequest()适用于symfony,但我认为在sonata管理包中有点不同。您的尝试看起来不错。看看这篇文章: 我可以成功地使用:
public function preUpdate($object)
{
$uniqid = $this->getRequest()->query->get('uniqid');
$formData = $this->getRequest()->request->get($uniqid);
var_dump($formData);exit;
}
检索所有提交的元素。可能有点晚,但我希望这将对某人有所帮助:
$this->getForm()->get('subobject')->getData()
这只是关系
Office>Plan
和查找propPlan.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()) {}
}
你能再发布一点代码吗?至少有一些版本它不起作用,不确定我有哪些版本,在composer.json中,当我搜索索纳塔时,我只找到了5个带有这个词的捆绑包
注意:未定义变量:planName