2013-10-06 86 views
-1

我有AbstractUser超类扩展了FOSUser,然后我有扩展AbstractUser的实体与该类有关的字段。例如,客户与城市实体有ManyToOne关系。在“字段1054未知列“t0.city”:具有ManyToOne关系的FOSUserBundle实体

现在,当我尝试FOSUser登录表单登录我收到提示:

.... SQLSTATE [42S22]:列未找到列表'

当然,用户表中没有城市字段,因为它是名为city_id的关系列。任何人都可以为我揭示为什么教义建立这样的查询吗?我错过了什么吗?

在此先感谢。

这里是相关的代码部分。

AbstractUser:

/** 
* @ORM\Table(name="users") 
* @ORM\Entity 
* @ORM\MappedSuperclass 
* @ORM\InheritanceType("SINGLE_TABLE") 
* @ORM\DiscriminatorColumn(name="discr", type="string") 
* @ORM\DiscriminatorMap({"admin"="Admin", "customer"="Customer", "seller"="Seller"}) 
*/ 
abstract class AbstractUser extends FOSUser 
{ 
    /** 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 

    public function __construct() 
    { 
     parent::__construct(); 
    } 
} 

客户:

/** 
* @ORM\Entity 
*/ 
class Customer extends AbstractUser { 

    .... 

    /** 
    * @var City $city 
    * @ORM\ManyToOne(targetEntity="City", inversedBy="customers") 
    */ 
    private $city; 

    .... 
} 

市:

/** 
* @ORM\Table(name="city") 
* @ORM\Entity 
*/ 
class City 
{ 
    .... 

    /** 
    * @var ArrayCollection $customers 
    * @ORM\OneToMany(targetEntity="Customer", mappedBy="city") 
    */ 
    private $customers; 

    .... 
} 

回答

1

我相信在$city$customers能见度已经受到保护,而不是私人的。

0

对不起,我很抱歉。这是我的错,我打开了教义缓存(和结果btw印象深刻)。 几乎在试图理解为什么会发生这种情况的同时,在我的头上划伤了一个洞。幸运的是,我遇到了另一个错误,有些是教义和apc。瞧!这给了我一个线索在哪里看。

+0

请使用评论,如果它不是一个答案。 –

相关问题