1

オーバーライド ドキュメント (mongodb) と generator.yml に問題があります。

文書:

<php

namespace Acme\DemoBundle\Document;

use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;

/**
 * @ODM\Document
 */
class Product
{
    /**
     * @ODM\ReferenceOne(targetDocument="Badge")
     */
    private $badge;
}

ドキュメント:

<php

namespace Acme\TestDemoBundle\Document;

use Acme\DemoBundle\Document\Product as BaseProduct;
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;

/**
 * @ODM\Document
 */
class Product extends BaseProduct
{
    /**
     * @ODM\String
     */
    private $field;
}

オーバーライドされたジェネレーターで新しいモデルを指定すると問題が発生します

ジェネレーター:

generator: admingenerator.generator.doctrine_odm
params:
  model: Acme\DemoBundle\Document\Product
  namespace_prefix: Acme
  bundle_name: DemoBundle
  i18n_catalog: AcmeDemoBundle
  object_actions:
      delete: ~
  fields:
      badge:
          label: badge.label
# ......

ジェネレーター:

generator: admingenerator.generator.doctrine_odm
params:
  model: Acme\TestDemoBundle\Document\Product
  namespace_prefix: Acme
  bundle_name: DemoBundle
  i18n_catalog: AcmeDemoBundle
  object_actions:
      delete: ~
  fields:
      badge:
          label: badge.label
      field:
          label: field.label
# ......

オーバーライドされたジェネレーターで新しいモデルを指定すると、問題が発生します。新しいジェネレーター モデル属性に設定すると、「関連付け名が必要です。'badge' は関連付けではありません」Acme\TestDemoBundle\Document\Productというエラーが表示されます。

問題は、コミットhttps://github.com/symfony2admingenerator/AdmingeneratorGeneratorBundle/commit/357c0378ce7b0bafa2551148aa24fc533c6998a3

hasAssociation()配列内のメタデータ チェック フィールドからのメソッドですが、フォーム配列fieldMappingsgetAssociationTargetClass()返されますasociationMappings

4

1 に答える 1