2

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許容のファイルを追加した後でも、挿入できなくなりましたが、何を見逃しましたか?

再度、感謝します。

4

1 に答える 1