Symfony2-原则-两个束之间的实体关系


Symfony2 - Doctrine - Entity relationship between 2 bundles

我不知道如何在两个bundle之间建立实体关系。

到目前为止,我最接近成功的是:

用户实体

<?php
namespace Acme'AuthBundle'Entity;
use FOS'UserBundle'Entity'User as BaseUser;
use Doctrine'ORM'Mapping as ORM;
use Symfony'Component'Validator'Constraints as Assert;
use Doctrine'Common'Collections'ArrayCollection;
/**
 * @ORM'Entity
 * @ORM'Table(name="fos_user")
 */
class User extends BaseUser
{
    /**
     * @ORM'Id
     * @ORM'Column(type="integer")
     * @ORM'generatedValue(strategy="AUTO")
     */
    protected $id;
    //...
    /**
     * @ORM'OneToMany(targetEntity="Acme'NewsBundle'Entity'Article", mappedBy="author")
     */
    protected $articles;

    //...

文章实体

<?php
namespace Acme'NewsBundle'Entity;
use Doctrine'ORM'Mapping as ORM;
/**
 * @ORM'Entity(repositoryClass="Acme'NewsBundle'Entity'ArticleRepository")
 * @ORM'Table(name="articles")
 */
class Article
{
    /**
     * @ORM'Id
     * @ORM'Column(type="integer")
     * @ORM'GeneratedValue(strategy="AUTO")
     */
    protected $id;
    //...
    /**
     * @ORM'ManyToOne(targetEntity="Acme'AuthBundle'Entity'User", inversedBy="articles")
     */
     protected $author;
     //...

在生成实体和更新数据库时,我没有得到任何错误,并且在数据库中正确设置了关系。

但当我试图获取文章时,我得到的是:

Class Acme'AuthBundle'Entity'Article does not exist
500 Internal Server Error - ReflectionException 

请注意,User实体在AuthBundle中,Article实体在NewsBundle中。

谢谢。

在定义一对多、多对一关系时,需要指定实体类的名称。仍然将Acme'AuthBundle'Entity'User而不是Aief'AuthBundle'Entity'User指定为targetEntity

文章和文章存储库也是如此。