我想知道如何生成一个表格,询问用户他居住的国家。
目前这是我的AnnonceType.php(表格)中的代码
$builder
->add('idPa', 'entity', array(
'label' => 'Pays',
'class' => 'nftAnnonceBundle:Pays',
'query_builder' => function(EntityRepository $er)
{
return
$er->createQueryBuilder('p')
->select('nomPa')
->from('nftAnnonceBundle:Pays', 'p');
},
'property' => 'nom_pa'
))
我正在寻找自定义查询,因为我的数据库中有一个geom数据列,如果doctrine确实加载了我的应用程序就崩溃了......
要清楚,我只想创建一个选择字段,询问label_country(从我的数据库)到用户,并将id_country作为值。 我尝试使用 - >覆盖createQueryBuilder()中的选择字段。选择但doens似乎没有用。
[Semantical Error] line 0, col 72 near 'p': Error: 'p' is already defined.
感谢您的帮助
答案 0 :(得分:0)
出现此错误消息,因为当您执行
时import subprocess
import os
script1= "scripts/script1.sh"
script2 = "scripts/script2.sh"
script3 = "scripts/script3.sh"
subprocess.call([script1])
subprocess.call([script2])
subprocess.call([script3])
它已隐含地创建了$er->createQueryBuilder('p')
此外,您不能在QueryBuilder中选择显示的标签,而是选择->from('nftAnnonceBundle:Pays', 'p');
属性或实体choice_label
方法。
所以你可以做到
__toString
[编辑后评论]
如果要限制EntityType表单字段加载的字段以提高性能,可以将$builder
->add('idPa', 'entity', array(
'label' => 'Pays',
'class' => 'nftAnnonceBundle:Pays',
'choice_label' => 'nomPa'
))
与doctrine partials objects一起使用。在这种情况下,它可以是:
QueryBuilder