Symfony:带有查询生成器 where 子句的 FormBuilder EntityType
Symfony: FormBuilder EntityType with Query Builder where clause
Symfony 3.4
我正在尝试在下拉列表中加载用户推荐的客户列表。
每个用户都可以在下拉列表中 select 引用的客户而不是整个客户列表。
错误 : [Syntax Error] line 0, col 58: Error: Expected =, <, <=, <>, >, >=, !=, got 'AND'
表格:
$form = $this->createFormBuilder($expertations)
->add('client', EntityType::class, [
'class' => 'AppBundle:Clients',
'placeholder' => '-- Seleziona --',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('u')
->where('u.referer', ':uid') <------ ERROR HERE
->setParameter('uid', $this->getUser()->getId())
->orderBy('u.name', 'ASC');
},
'choice_label' => 'name',
'choice_value' => 'id',
'label' => 'Cliente',
'attr' => ['class' => 'form-control']
])
[...]
如何构建一个带有下拉列表的表单 <select>
仅填充这些数据?
替换
->where('u.referer', ':uid') <------ 此处错误
为
->哪里('u.referer = :uid')
Symfony 3.4
我正在尝试在下拉列表中加载用户推荐的客户列表。
每个用户都可以在下拉列表中 select 引用的客户而不是整个客户列表。
错误 : [Syntax Error] line 0, col 58: Error: Expected =, <, <=, <>, >, >=, !=, got 'AND'
表格:
$form = $this->createFormBuilder($expertations)
->add('client', EntityType::class, [
'class' => 'AppBundle:Clients',
'placeholder' => '-- Seleziona --',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('u')
->where('u.referer', ':uid') <------ ERROR HERE
->setParameter('uid', $this->getUser()->getId())
->orderBy('u.name', 'ASC');
},
'choice_label' => 'name',
'choice_value' => 'id',
'label' => 'Cliente',
'attr' => ['class' => 'form-control']
])
[...]
如何构建一个带有下拉列表的表单 <select>
仅填充这些数据?
替换
->where('u.referer', ':uid') <------ 此处错误
为
->哪里('u.referer = :uid')