奏鸣曲管理员 w=11=sh w=10=sh

Sonata Admin MongoDB sonata_type_model_autocomplete

情况

我有两个文件

Company
- id
- staff (ReferenceOne Staff)

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

有很多可能的工作人员所以,我一直在尝试将 select2 框转换为使用 'sonata_type_mpde_autocomplete' 但是,Sonata 总是因为抱怨 model_manager 为空。

我在以下位置关注了 Sonata Admin 的文档: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' 添加到数据网格过滤器。

$dataGridMapper
    ->add('firstName');

只需添加

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

到选项数组