将参数传递给Symfony @ParamConverter
问题描述:
我在我的控制器中使用symfony @ParamConverter来通过它的slu get获取实体,但不是使用“findBySlug()”方法,而是使用更具体的方法“findWithSomeFeaturesBySlug($ slug)“,我有一个问题,因为在findWithSomeFeaturesBySlug($ slug)方法中,我使用'slug'键而不是slug的值来接收$ slug参数作为关联数组。将参数传递给Symfony @ParamConverter
我的控制器的代码如下所示:
/**
* @Route("/some-route/{slug}")
* @ParamConverter("object", class="AcmeBundle:Object", options={"repository_method" = "findWithSomeFeaturesBySlug"})
*/
public function acmeDemoAction(Object $object)
{
// Controller code here
}
我希望有人能帮助我。
谢谢。
UPDATE:
对不起,我认为我没有正确地解释我的问题。问题是我在“findWithSomeFeaturesBySlug($ slug)”函数中得到了一个关联数组,我需要直接获取$ slug值。
// ObjectRepository
public function findWithSomeFeatures($slug)
{
// here I get an associative array in the slug parameter:
// $slug = array('slug' => 'some_value')
// And I need $slug = 'some_value'
}
答
我有同样的问题,通过在ParamConverter
/**
* @Route("/some-route/{slug}")
* @ParamConverter("object", class="AcmeBundle:Object", options={"id" = "slug", "repository_method" = "findWithSomeFeaturesBySlug"})
*/
public function acmeDemoAction(Object $object)
{
// Controller code here
}
+1这真的解决了这个问题。 – VisioN