例如,如果您得到以下实体和关系:
已购买服务*--->1项服务*--->1项服务类别
如何创建一个表单类型,列出PurchasedServiceType中ServiceCategory的所有条目?
As:
$builder
->add('servicecategory', 'entity', array(
'class' => 'InvoicingBundle:ServiceCategory',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('sc')
->orderBy('sc.serviceCategoryName', 'ASC');
},
))
导致错误:
属性"servicecategory"和其中一个方法"getServicecategory()"、"isServicecategory[()]"、"hasServicecategory-[()'","__get()"在…中存在并具有公共访问权限
我希望直接调用实体服务类别?
它应该。但我觉得你错过了名称空间。在您的情况下,您有:
'class' => 'InvoicingBundle:ServiceCategory',
InvoicingBundle总是本地化在某个目录中-您应该有src/{theMissingDirectory}/InInvoicingbundle/Entity/ServiceCategory,所以模式是:
'class' => '{theMissingDirectory}InvoicingBundle:ServiceCategory',
例如:
'class' => 'AcmeInvoicingBundle:ServiceCategory',
请用这种方法试试,它会起作用的。
问候,