12
我无法弄清楚如何我可以有2捆绑之间的实体关系。Symfony2 - Doctrine - 2捆绑之间的实体关系
最近我一直到目前为止的成功是这样的:
用户实体:
<?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
注意,用户实体处于AuthBundle条和第实体NewsBundle。
谢谢。
对不起,错字错误,我实际上已将Aief更改为Acme只是为了发帖(我会编辑它)。所以不是这样。 – LBridge
问题在于它在AuthBundle中查找文章实体时,它应该在NewsBundle中查找。我不明白为什么。 – LBridge
目前您是否对Doctrine使用任何缓存?尝试清洁它。删除生成的代理类也可以包含错误的类名称。 – Gedrox