5

是否可以使用 Symfony2 中的 @ParamConverter 注释将通过 $_POST 请求发送的参数转换为实体?

symfony2 文档中给出的所有示例都从路由中定义的参数转换实体。

设置类似的东西:

/**
 * @Route("/")
 * @ParamConverter("user", class="BvStandardServiceBundle:User", options={"id" = "userId"})
 */
public function userAction(User $user)
{
}

如果我在 $_POST 参数中使用 id 调用此路由userId,则会导致:

无法猜测如何从请求信息中获取 Doctrine 实例。

4

2 回答 2

5

不幸的是,symfony 的 paramConverter 只为请求参数运行到 URL 中:ParamConverter 规范

框架直接使用 URL 参数来搜索参数 url 和 paramConverter 之间的关联。如果你没有在 URL 中使用参数,symfony 引擎将不会搜索与你的 paramConverter 的关联。

您还可以查看需要工作请求的 kernel.event:类:ParamConverterListener.php

于 2016-02-08T15:25:32.627 回答
-2

我使用https://github.com/schmittjoh/JMSSerializerBundle将 JSON 数据转换为 Doctrine ORM 实体,然后将它们保存到 DB。

于 2016-02-08T19:37:45.343 回答