我试图创建一个简单的形式奏鸣曲束。我有一个问题要加载数据的实体类型字段。我知道这是工作:Symfony2的QueryBuilder的联接不工作
$formMapper->add('foo', 'entity', array(
'class' => 'myVendorMyBundleBundle:Foo',
'property' => 'id',
'query_builder' => function(FooRepository $er) {
return $er->createQueryBuilder('qb')
->add('select', 'f')
->add('from', 'myVendorMyBundleBundle:Foo f')
},
'label' => 'foo'
));
的问题是,我不希望显示实体ID,我想表明它的名字,这在relationed表。我尝试在createQueryBuilder方法中使用join语句,但我没有得到它的工作:
$formMapper->add('foo', 'entity', array(
'class' => 'myVendorMyBundleBundle:Foo',
'property' => 'b.name',
'query_builder' => function(FooRepository $er) {
return $er->createQueryBuilder('qb')
->add('select', 'f')
->add('from', 'myVendorMyBundleBundle:Foo f')
->add('join', 'myVendorMyBundleBundle:Bar b')
},
'label' => 'foo'
));
任何人都知道如何做到这一点?
谢谢。
请加上你收到的错误。 – 2012-02-15 16:45:06
我不明白为什么使用类似这样的东西,而不是为了使自己的旧的更快的sql字符串 – dynamic 2012-02-15 16:45:53
我得到这个错误试图获取名称属性: 既不属性“nom”也不是方法“getName()”或方法“isName()”存在于类“MyBundle \实体\富 名称是酒吧实体属性,看来我只能得到一个从Foo实体... – carlosbuz 2012-02-16 13:12:36