Doctrine2 / Symfony 2 @ParamConverter,自定义存储库方法删除未映射的参数

时间:2015-02-04 14:24:08

标签: php symfony doctrine-orm annotations mapping

我需要将非映射参数发送到我的自定义存储库方法。 然而,似乎这些论点完全被忽略了,当我讨论我的存储库方法参数时,我不会得到它们。

我在这里详细介绍了这个问题,但没有注释:@ParamConverter使用自定义存储库方法删除未映射的参数

有谁知道如何解决这个问题?

我案例中的例子:

* @Route("/edit_planning/{planning}/{onlyPending}", name="edit_planning", defaults={"onlyPending": false})
* @ParamConverter("planning", class="AppBundle:FoodAnalytics\Planning", options={"mapping" : {"planning" = "id", "onlyPending"="onlyPending"}, "repository_method" = "findPlanningDependingOnExecution"})
public function editPlanningAction(Request $request, Planning $planning)

OnlyPending route参数未传递给存储库方法

1 个答案:

答案 0 :(得分:2)

我认为你可以试试这个:(为了便于阅读而闯入多行)

@ParamConverter("planning",
    class="AppBundle:FoodAnalytics\Planning", 
    options = {
        "id": {"planning", "onlyPending"}, 
        "repository_method" = "findPlanningDependingOnExecution"
    }
)

您没有更改mapping,而是更改“id”的定义。然后findPlanningDependingOnExecution会收到array参数,其中包含密钥planningonlyPending

希望这有点帮助...