php - 将 FOSRestBundle 与表单一起使用

标签 php symfony fosuserbundle

菜鸟,关于 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);
}

返回

{"children":{"_token":[],"myValue":[]}}

我希望在这里看到的是这样的:

{"children":{"_token": "mylongtoken","myValue": "SOMEVALUE"}}

我的代码一直基于 LiipHelloBundle 中的示例,除非我弄错了这与他们提供的示例相匹配?我哪里出错了?

最佳答案

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

$form->createView()->get('form')->get('form')->getChild('myValue')->get('choices')

返回 myValue 实体:

{"28":"Default1","103":"test"}

关于php - 将 FOSRestBundle 与表单一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10591596/

相关文章:

javascript - 如何向数据表添加复选框

php - DB2 时间戳 PHP 日期时间

javascript - 从 PHP 中的 UTF-8 字符串中删除控制字符

forms - 如何在Symfony2中合并2表格

Symfony 2 以表单形式获取用户区域设置

javascript - 重定向后 Ajax 网页不显示最新内容

php - FOSUserBundle 自定义错误信息 change_password

php - Symfony2 fos 在一个 View 中登录、注册和忘记密码

Symfony 2.3/FOSUserBundle : Redirect to login page even if route is not matched

jquery - Symfony2 Ajax jQuery