Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 如何将phpcr odm ReferenceMany字段添加到sonata admin?_Symfony_Sonata Admin_Symfony Cmf - Fatal编程技术网

Symfony 如何将phpcr odm ReferenceMany字段添加到sonata admin?

Symfony 如何将phpcr odm ReferenceMany字段添加到sonata admin?,symfony,sonata-admin,symfony-cmf,Symfony,Sonata Admin,Symfony Cmf,在我的文档中,我有一个要存储相关节点的字段,我将其定义如下: /** * @PHPCRODM\ReferenceMany(targetDocument="Symfony\Cmf\Bundle\SimpleCmsBundle\Doctrine\Phpcr\Page", strategy="hard") */ protected $related_guides; 我使用文档管理器添加了相关节点,我可以看到它们,并在我的小树枝文件中创建了链接。我遇到的问题是允许管理员在sonataadmin中添加

在我的文档中,我有一个要存储相关节点的字段,我将其定义如下:

/**
 * @PHPCRODM\ReferenceMany(targetDocument="Symfony\Cmf\Bundle\SimpleCmsBundle\Doctrine\Phpcr\Page", strategy="hard")
*/
protected $related_guides;
我使用文档管理器添加了相关节点,我可以看到它们,并在我的小树枝文件中创建了链接。我遇到的问题是允许管理员在sonataadmin中添加或删除相关节点

当我使用ORM时,我使用了“sonata_type_collection”,但它似乎在ODM中不起作用。我得到了这个错误:

无效模式:s537a4d1c263c0_相关_指南-类型:sonata_类型_集合-映射:8

sonata_type_model_list仅适用于ReferenceOne关系和ReferenceMany,我收到了以下错误:

在链配置的命名空间Doctrine\ODM\PHPCR\Document、Sandbox\MainBundle\Document、Vectorworks\Bundle\CmsBundle\Document、Symfony\Component\Routing、Symfony\Cmf\Bundle\RoutingBundle\Model、Symfony\Cmf\Bundle\RoutingBundle\Doctrine\PHPCR中找不到类“Doctrine\ODM\PHPCR\ReferenceManyCollection”,Symfony\Cmf\Bundle\MenuBundle\Model,Symfony\Cmf\Bundle\MenuBundle\document\Phpcr,Symfony\Cmf\Bundle\ContentBundle\Model,Symfony\Cmf\Bundle\BlockBundle\Model,Symfony\Cmf\Bundle\document\Phpcr,Symfony\Cmf\Bundle\simplecmbundle\document\Phpcr,Symfony\Cmf\Bundle\SeoBundle\Model,Symfony\Cmf\Bundle\SeoBundle\document\Phpcr,Symfony\Cmf\Bundle\MediaBundle\document\Phpcr


有没有办法从Sonata Admin中获得此功能?顺便说一句,my fields是Doctrine\ODM\PHPCR\ReferenceMany集合的类型,用于支持@ReferenceMany关系。

对于ReferenceMany,请尝试使用PHPCR\u文档:

$formPapper->add('related_guides', 'phpcr_document', 
    array(
        'property' => 'title',
        'class'    => 'Acme\DemoBundle\Document\TargetClass',
        'multiple' => true,
   ))
->end();

上面的代码似乎有点旧:对于Symfony 3.3,请使用以下代码:

use Doctrine\Bundle\PHPCRBundle\Form\Type\DocumentType;
...
$formPapper->add('related_guides', DocumentType::class, 
        array(
            'choice_label' => 'title', // where TargetClass::getTitle()
            'class'    => 'Acme\DemoBundle\Document\TargetClass',
            'multiple' => true,
       ))
    ->end();

例外情况看起来像是条令试图将ReferenceManyCollection视为一个文档类,该类本身将被映射。这毫无意义。sonata_type_系列在phpcr odm中确实被打破了:-希望有一天有人会花时间去挖掘它。例如,嵌入sonata_type_系列才是有效的,谢谢!我会调查的。至少我知道我没有做错。