2016-03-15 110 views
0

形势索纳塔管理MongoDB的sonata_type_model_autocomplete

我有两个文件

Company 
- id 
- staff (ReferenceOne Staff) 

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

有很多可能的工作人员的话,各地板我想转换选择2盒使用'sonata_type_mpde_autocomplete',但是,索纳塔总是停止抱怨model_manager为空。

我跟着从索纳塔管理员在以下文件: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(), 

期权阵列