Paw*_*wel 6 php doctrine symfony
我想Entity
在Symfony 2中构建一个字段类型,并将参数传递给查询构建器以获取相关对象的过滤器列表:
$formMapper
->add('article_subcategories', 'entity',
array(
'label' => 'Podkategorie',
'multiple' => true,
'expanded' => true,
'read_only' => true,
'class' => 'FachowoArticleBundle:ArticleSubcategory',
'query_builder' => function (EntityRepository $er)
{
return $er
->createQueryBuilder('sc')
->where('sc.article_category = :id')
->orderBy('sc.name', 'ASC')
->setParameter('id', $id);
}
));
Run Code Online (Sandbox Code Playgroud)
如何在formMapper中将$ id传递给this函数?
您可以使用PHP 5.3的闭包.大多数带闭包的语言都会自动执行此操作,但PHP要求您明确指定列表.
'query_builder' => function (EntityRepository $er) use ($id)
{
return $er
->createQueryBuilder('sc')
->where('sc.article_category = :id')
->orderBy('sc.name', 'ASC')
->setParameter('id', $id);
}
Run Code Online (Sandbox Code Playgroud)