2013-02-08 75 views
0

比方说,我有2个实体。卡和用户。 用户在UserBundle中,Card在PublicBundle中。如何从实体中的另一个包加载实体?

在用户,我有这样的功能:

#namespace Kanban\UserBundle\Entity; 
    /** 
    * Add assignment 
    * 
    * @param \Kanban\PublicBundle\Entity\Card $assignment 
    * @return User 
    */ 
    public function addAssignment(\Kanban\PublicBundle\Entity\Card $assignment) 
    { 
     $this->assignment[] = $assignment; 

     return $this; 
    } 

我每次执行此命令:

php app/console doctrine:schema:update --dump-sql 

它抛出这个错误:

[Doctrine\ORM\Mapping\MappingException]                  
    The target-entity Kanban\UserBundle\Entity\Card cannot be found in 'Kanban\UserBundle\Entity\User#assignm 
    ent'. 

我已经试过声明:

use Kanban\PublicBundle\Entity; 
use Kanban\PublicBundle\Entity\Card; 

在文件的开头,但显示相同的错误。 关于我在做什么错的任何想法?

+0

您能向我们展示您的实体中$赋值的声明吗? (你在哪里做用户和卡之间的关系) – Snroki 2013-02-08 15:15:27

回答

1

NM!

是用orm.yml文件有问题,改:

manyToMany: 
    assignment: 
     targetEntity: Card 
     cascade: { } 
     mappedBy: customer 
     inversedBy: null 
     joinTable: null 
     orderBy: null 

manyToMany: 
    assignment: 
     targetEntity: Kanban\PublicBundle\Entity\Card 
     cascade: { } 
     mappedBy: customer 
     inversedBy: null 
     joinTable: null 
     orderBy: null 

这解决了这个问题!

相关问题