Page、PageMedia、Sonata MediaBundlesMediaクラスの間には1対多の関係があります。PageMediaとPageに挿入されますが、何らかの理由で、ページメディアテーブルのページIDが常にnullになります。
これが、私が操作しようとしているオブジェクトの関連部分です。
class Page {
/** @ORM\OneToMany(targetEntity="PageMedia", mappedBy="page", cascade={"persist"} */
protected $pageMedias;
}
class PageMedia {
/** @ORM\ManyToOne(targetEntity="Page", cascade={"all"}, inversedBy="pageMedias") ) */
protected $page;
/** @ORM\ManyToOne(targetEntity="Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"}) */
protected $media;
}
class PageAdmin extends Admin {
protected function configureFormFields(FormMapper $form) {
$form
->with('Media')
->add('pageMedias', 'sonata_type_collection',
array('by_reference' => false ), array(
'edit'=>'inline',
'inline' => 'table',
'sortable' => 'sortOrder'
))
->end();
}
}
class PageMediaAdmin extends Admin {
protected function configureFormFields(FormMapper $form) {
$form->add('media', 'sonata_type_model_list',
array(),
array('link_parameters'=>array('context' =>'default')));
}
}
多分誰かが私が問題を解決するのを手伝ってくれるでしょうか?私はここで完全に途方に暮れています...ページとページメディアの間のjoinColumnにnull許容のファイルを追加した後でも、挿入できなくなりましたが、何を見逃しましたか?
再度、感謝します。