繁体   English   中英

sonata_type_model中的默认数据

[英]default data in sonata_type_model

我使用symfony 2.7并使用SonataAdminBundle。

我有2个具有OneToMany关系的实体,分别称为(Produit)和(Correspondant),一个Produit可以具有Many Correspondant。 在(产品)的创建表单中,我具有添加许多(通讯员)的通讯员,并且默认情况下,我喜欢添加所有通讯员,为此,我尝试这样做:

产品管理员

 $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 ),
           )

但这行不通

有人可以帮我吗? 谢谢

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM