代码之家  ›  专栏  ›  技术社区  ›  Dhia Eddine Farah

sonata_type_模型中的默认数据

  •  0
  • Dhia Eddine Farah  · 技术社区  · 8 年前

    我使用symfony 2.7,并使用SonataAdminBundle。

     $query = $this->modelManager->getEntityManager(new User())->createQuery("SELECT s FROM UserBundle\Entity\User s WHERE s.type LIKE 'Correspondant'" );
     $formMapper 
          ->add('correspondants','sonata_type_model', array(
                 'class'=>'Devagnos\UserBundle\Entity\User',
                 'multiple'=> true,
                 'by_reference' => false,
                'label'=>'Correspondants associés',
    
                'data' =>  function() {
                    $data = new ArrayCollection();
                    $r= $query->getResult();
    
                    foreach($r as $result) {
    
                       $data->add($result->getId());
                  }
                    return $data;
                },
                  'query' => $query ),
               )
    

    但这不起作用,

    1 回复  |  直到 8 年前
        1
  •  2
  •   miikes    8 年前

    你需要设置 data 属性并将要选择的实体作为默认值。

    $selected = ... //fetch entities, e.g. from repository
    $formMapper
        ->add('field', 'sonata_type_model', array(
            'your_settings' => '...',
            'query' => '...',
            'data' => $selected
            )
        );
    
    推荐文章