1
我试图提供一个选择具有> 300个选择单一的EntityType产生一个大组查询
$form->add('products', EntityType::class, array(
'class' => Product::class,
'query_builder' => function (ProductRepository $er) use ($customerId) {
return $er->QBByCustomer($customerId);
},
'choice_label' => 'l.name',
));
的的QueryBuilder的:
public function QBByCustomer($customer = null)
{
return $this->QB()
->addSelect('p.name AS HIDDEN name')
->join('p.customer', 'c')
->join('p.label', 'l')
->where('c.customer = :customer')
->setParameter('customer', $customer)
->addOrderBy('name')
;
}
当我呈现的形式,教义产生> 300查询加载每个相关对象。
有没有办法告诉学说使用我给的QueryBuilder中的标签,而不是发射尽可能多的查询作为可选项目?
可以显示这个查询的一个?他们在找什么? – Matteo
显示产品实体的代码和映射。 – Gerry
我建议如下:在实体关系上使用fetch =“extra_lazy”,使用','multiple'=> true,'expanded'=> true' –