无效模式:s5a869f19a6c57_equivalents - 类型:sonata_type_collection - 映射:

时间:2018-02-16 09:13:44

标签: php symfony sonata-admin sonata

我正在使用一些Sonata捆绑包在Symfony 2.8应用程序上构建一个新功能。

我的Page.php实体定义包括以下映射:

/**
 * @var ArrayCollection
 *
 * @ORM\ManyToMany(targetEntity="AppBundle\Entity\Equivalent", cascade={"all"})
 * @ORM\JoinTable(name="page_equivalent",
 *          joinColumns={@ORM\JoinColumn(name="page_id", referencedColumnName="id")},
 *          inverseJoinColumns={@ORM\JoinColumn(name="equivalent_id", referencedColumnName="id", unique=true)}
 *     )
 */
private $equivalents;

...我的PageAdmin.php文件的configureFormFields()功能包含以下内容:

            ->add('synonyms', CollectionType::class, array('entry_type' => TextType::class, 'allow_add' => true, 'allow_delete' => true))
            ->add('equivalents', 'sonata_type_collection', array(
                'label' => "Equivalents",
                'cascade_validation' => true,
                'required' => false,
            ), array(
                'edit' => 'inline',
                'inline' => 'table',
                'targetEntity' => 'AppBundle\Entity\Equivalent',
                'admin_code' => 'app.admin.equivalent',
            ))

...产生消息

  

无效模式:s5a869f19a6c57_equivalents - 类型:   sonata_type_collection - 映射:

我尝试将by_reference设置为truefalse,而且这两种设置似乎都没有改变。我还运行doctrine:schema:validate并发现没有问题。我还验证了我能够在CMS中添加和编辑等效对象。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:2)

事实证明,此问题涉及未被读取的ORM映射。

(投诉所依据的逻辑是检查几种ORM映射类型中的一种,然后抱怨如果找不到这些类型。)

运行Text="{TemplateBinding Content}"/> 然后重新运行我的app/console doctrine:cache:clear-metadata命令足以让我的应用程序识别我一直试图实现的多对多关系。这摆脱了胡思乱想的消息。