私はこの記事の後に私のエンティティにSEOデータを追加しますhttp://symfony.com/doc/current/cmf/bundles/seo/seo_aware.html。 DoctrineとSymfonySeoBundleの重複したOneToOne関係
class Provider implements SeoAwareInterface
{
/**
* @var SeoMetadataInterface
*
* @ORM\OneToOne(targetEntity="Symfony\Cmf\Bundle\SeoBundle\Model\SeoMetadata", cascade={"persist","remove"})
* @ORM\JoinColumn(name="seo_metadata_id", referencedColumnName="id")
*/
protected $seoMetadata;
}
私はProvider
エンティティを編集するSonataAdminを使用して、私はseoMetadata
プロパティのための特別なフォームタイプを使用する - 問題は次である
protected function configureFormFields(FormMapper $form)
{
$form
// some entity related fields
->with('form.provider.seo_group_title', [
'class' => 'col-md-4',
])
->add('seoMetadata', SeoMetadataType::class, [], [
'generic_metadata' => false,
])
->end()
;
}
(http://symfony.com/doc/current/cmf/bundles/seo/seo_aware.html#form-type)SeoMetadataType
- 毎回私はProvider
エンティティを編集し、私は新しいレコードを取得SeoMetadata
です。
私はデバッグ更新処理をしたと私は存在していたid
と$seoMetadata
財産でSeoMetadata
のプロキシを持っていますが、persist
とflush
操作の後、私はテーブル内のid
新しい、新しいレコードとプロキシを参照してください操作persist
前とflush
。
誰も何が間違っていますか?