我对zenstruck_form_bundle有些困难。 我正在寻找一个例子,其中包括" repo_method"使用。
我在symfony项目工作(我是初学者)。
在我的表单类型中:
->add('mentions', 'zenstruck_ajax_entity', array(
'class' => 'AimaFormationBundle:Mention',
'use_controller' => true,
'property' => 'mention',
'repo_method' => 'searchMentionByDomaineDfe',
'extra_data' => [$idDomaineDfe],
'label' => '* MENTIONS',
'multiple' => true,
'placeholder' => 'La mention (4 lettres min)',
'required' => true,
))
在我的知识库方法中:
//Recherche des mentions par domainedfe
public function searchMentionByDomaineDfe($idDomaineDfe)
{
$qb = $this->createQueryBuilder('m');
$qb->innerJoin('m.domaineDfe', 'd' , 'WITH', 'd.id = :domdfe');
$qb->setParameter('domdfe', $idDomaineDfe);
return $qb;
}
答案 0 :(得分:0)
在官方文件中:https://github.com/kbond/ZenstruckFormBundle
写道:
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'zenstruck_ajax_entity', array(
'class' => 'AppBundle:MyEntity', // ensure MyEntity::__toString() is defined
'use_controller' => true,
'property' => 'name', // the entity property to search by
// 'repo_method' => 'findActive' // for using a custom repository method
// 'extra_data' => array() // for adding extra data in the ajax request (only applicable when using repo_method)
))
;
}
// ...
}
我认为这是一个例子......
<强>更新强>
字段“repo_method
”需要一个字符串,该字符串是链接存储库中方法的名称。不是查询构建器......
查看official doc以创建自定义存储库。