2016-03-15 3 views
0

СитуацияSonata Админ MongoDB sonata_type_model_autocomplete

У меня есть два документа

Company 
- id 
- staff (ReferenceOne Staff) 

Staff 
- id 
- firstName (string) 
- lastName (string) 

Есть много возможных сотрудников так, все за доской я пытаюсь преобразовать ВЫБ.2 коробки, чтобы использовать 'sonata_type_mpde_autocomplete', но Sonata всегда останавливается, соглашаясь с тем, что model_manager имеет значение NULL.

Я последовал документ от Sonata администратора на следующее: https://sonata-project.org/bundles/admin/master/doc/reference/form_types.html#sonata-type-model-autocomplete

Я вижу, что есть свойство, чтобы установить, но, положа руку на сердце, что бы я поставил в там? Я буду стараться использовать функцию __toString() один раз это работает, но на следующей момент это то, что у меня есть

Я посмотрел вокруг и создал model_manager для сотрудников

namespace AppBundle\ModelManager; 

use Doctrine\ODM\MongoDB\DocumentManager; 
use AppBundle\Repository\IndividualRepository; 

class IndividualManager 
{ 
    protected $dm; 
    protected $repo; 
    protected $class; 

    public function __construct(DocumentManager $dm, $class) 
    { 
    $this->dm = $dm; 
    $this->class = $class; 
    $this->repo = $dm->getRepository($class); 
    } 
} 

В админке компании

->add('staff', 'sonata_type_model_autocomplete', array(
     'property' => 'firstName')) 

В отдельном админе, я пошел и добавил 'firstName' в фильтр dataGrid.

$dataGridMapper 
    ->add('firstName'); 

ответ

0

просто добавить

'model_manager' => $datagridMapper->getAdmin()->getModelManager(), 

в массиве параметров