Sonata Media Bundle中的多个Medias for One练习

时间:2015-10-07 18:48:05

标签: symfony doctrine-orm sonata-media-bundle

我正面临着Sonata媒体捆绑这个奇怪的问题。

基本上,我有一个可以拍很多照片的练习。

我对Exercice(它的法语)的映射是:

 /**
  * @ORM\OneToMany(targetEntity="Application\Sonata\MediaBundle\Entity\Media", mappedBy="exercice")
  */
    private $medias;

然后我转到Application / Sonara / MediaBundle / Entity / Media.php并添加一个字段$ exercice:

namespace Application\Sonata\MediaBundle\Entity;

use Sonata\MediaBundle\Entity\BaseMedia as BaseMedia;
use Doctrine\ORM\Mapping as ORM;


class Media extends BaseMedia
{
    /**
     * @var integer $id
     */
    protected $id;

    /**
     * @var
     * @ORM\ManyToOne(targetEntity="Acme\AcmeBundle\Entity\Exercice", inversedBy="medias")
     */
    private $exercice;

发生了奇怪的事情:

  1. 当我跑步时:php app/console doctrine:generate:entities Application\Sonata\MediaBundle:Media 我没有看到媒体实体内的Exercice的任何二传手或吸气剂。
    1. 我在个人资料中遇到此错误:
  2.   

    关联Acme \ AcmeBundle \ Entity \ Exercice #medias引用   拥有方的领域   Application \ Sonata \ MediaBundle \ Entity \ Media#exercice没有   存在。

    配置的相关部分:

    ORM:     auto_generate_proxy_classes:"%kernel.debug%"     auto_mapping:true     映射:           ApplicationSonataMediaBundle:〜           SonataMediaBundle:〜

    我做错了什么?

    由于

1 个答案:

答案 0 :(得分:1)

好的,找到了解决方案。 我不得不修改xml文件中的映射: SRC /应用/索纳塔/ MediaBundle /资源/配置/教义/ Media.orm.xml 我补充说: < many-to-one field =“exercice”inversed-by =“medias”target-entity =“Acme \ AcmeBundle \ Entity \ Exercice”/> 它工作得很好。