2014-01-07 6 views
0

Если вы получили, например, следующие Сущности и отношения:Как создать сущность formtype от несвязанного объекта (Symfony2)?

PurchasedService * ---> 1 Сервис * ---> 1 ServiceCategory

, как вы можете создать formType со списком всех записей из ServiceCategory в PurchasedServiceType?

В:

$builder 
     ->add('servicecategory', 'entity', array(
      'class' => 'InvoicingBundle:ServiceCategory', 
      'query_builder' => function(EntityRepository $er) { 
       return $er->createQueryBuilder('sc') 
        ->orderBy('sc.serviceCategoryName', 'ASC'); 
      }, 
     )) 

Результаты в ОШИБКИ:

Neither the property "servicecategory" nor one of the methods "getServicecategory()", "isServicecategory()", "hasServicecategory()", "__get()" exist and have public access in...

Я бы ожидать, чтобы вызвать Entity ServiceCategory напрямую?

ответ

0

И это должно быть. Но я чувствую, что вы пропустили пространство имен. В вашем случае у вас есть:

'class' => 'InvoicingBundle:ServiceCategory', 

Всегда InvoicingBundle локализуется в какой-нибудь каталог - вы должны иметь Src/{theMissingDirectory}/InvoicingBundle/Entity/ServiceCategory, поэтому картина:

'class' => '{theMissingDirectory}InvoicingBundle:ServiceCategory', 

в пример:

'class' => 'AcmeInvoicingBundle:ServiceCategory', 

Пожалуйста, попробуйте таким образом, и он должен работать.

С уважением,