实体依赖性Symfony2


Entity dependency Symfony2

我有两个带有两个实体的bundle。我需要在这些实体之间创建一个manyToMany关系。

属性:

namespace Pfwd'AdminBundle'PropertyBundle'Entity;
use Pfwd'UserBundle'Entity'User as User;
use Doctrine'Common'Collections'ArrayCollection;
use Doctrine'ORM'Mapping as ORM;
/**
 * @ORM'Entity
 * @ORM'Table(name="property")
 */
class Property {
//...
/**
 * @ORM'ManyToMany(targetEntity="User")
 * @ORM'JoinTable(name="user_role",
 *     joinColumns={@ORM'JoinColumn(name="user_id", referencedColumnName="id")},
 *     inverseJoinColumns={@ORM'JoinColumn(name="property_id", referencedColumnName="id")}
 * )
 *
 * @var ArrayCollection $salesAgents
 */
protected $salesAgents;
//..

用户:

namespace Pfwd'UserBundle'Entity;
use Doctrine'Common'Collections'ArrayCollection;
use Symfony'Component'Security'Core'User'UserInterface;
use Doctrine'ORM'Mapping as ORM;
/**
 * @ORM'Entity
 * @ORM'Table(name="user")
 */
class User implements UserInterface
{
    /**
     * @ORM'Id
     * @ORM'Column(type="integer")
     * @ORM'GeneratedValue(strategy="AUTO")
     * 
     * @var integer $id
     */
    protected $id;
   // ...

属性捆绑包取决于用户捆绑包。

当我运行时

 php app/console doctrine:schema:update --force

我得到以下错误:

 [ErrorException]                                                             
Warning: class_parents(): Class Pfwd'AdminBundle'PropertyBundle'Entity'User  
does not exist and could not be loaded in <SITE_PATH>/symfony2/vendor/doctrine/lib/Doctrine/ORM/Mapping/Cl  
assMetadataFactory.php line 223   

有什么想法吗?

根据您的Property类定义,您已经定义了ManyToManyUser的关系。由于您省略了名称空间,将使用当前名称空间:

User将转换为Pfwd'AdminBundle'PropertyBundle'Entity'User

您必须指定FQCN:

@ORM'ManyToMany(targetEntity="Pfwd'UserBundle'Entity'User")