将FOSRestBundle与表单一起使用

Mad*_*nty 8 php symfony fosuserbundle

Noob,有关FOSRestBundle,JMSSerializerBundle和模板的问题.

我正在尝试替换当前通过twig输出json的现有代码以使用FOSRestBundle.这是成功的,从Controller传递的内容最初是在数组中,但现在我正在尝试将表单传递给FOSRestBundle,结果是我的值永远不会被返回.

下面的代码复制了该场景

/**
 *  my sample get action
 * @View(templateVar="form")   
 */
public function getAction($id)
{
    ...         
     $form = $this->createFormBuilder(array('myValue' => 'SOMEVALUE'))
        ->add('myValue', 'hidden')
        ->getForm();

    $view = FOSView::create($form);
    $view->setFormat('json');

    return $this->get('fos_rest.view_handler')->handle($view);
}
Run Code Online (Sandbox Code Playgroud)

回报

{"children":{"_token":[],"myValue":[]}}
Run Code Online (Sandbox Code Playgroud)

我期望在这里看到的是:

{"children":{"_token": "mylongtoken","myValue": "SOMEVALUE"}}
Run Code Online (Sandbox Code Playgroud)

我一直把我的代码基于LiipHelloBundle中的示例,除非我错了,这与他们提供的示例匹配?我出错的任何想法?

Mad*_*nty 2

好吧,这并不是我在 Symfony 中期望的最干净的解决方案,但它似乎是这样工作的:

$form->createView()->get('form')->get('form')->getChild('myValue')->get('choices')
Run Code Online (Sandbox Code Playgroud)

返回 myValue 实体:

{"28":"默认1","103":"测试"}