我在 Sonata 媒体包中遇到了这个奇怪的问题。
基本上,我有一个可以有很多图片的练习。
我的练习映射(它是法语)是:
/**
* @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;
发生的奇怪事情:
- 当我运行时:
php app/console doctrine:generate:entities Application\Sonata\MediaBundle:Media
我在 Media 实体中看不到任何用于 Exercice 的 setter 或 getter。- 我在探查器中收到此错误:
Acme\AcmeBundle\Entity\Exercice#medias 关联是指不存在的拥有方字段 Application\Sonata\MediaBundle\Entity\Media#exercice。
config 的相关部分:
orm: auto_generate_proxy_classes: "%kernel.debug%" auto_mapping: true 映射: ApplicationSonataMediaBundle: ~ SonataMediaBundle: ~
我究竟做错了什么 ?
谢谢