2016-01-26 142 views
1

我被困在Symfony2的怪異行爲上。Symfony2實體屬性被忽略

我有一個實體代表我的應用程序中的文檔。此實體與其他兩個具有ManyToOne關係的實體鏈接。
這裏是類:

實體\ Document.php

namespace Acem\APPBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 
use Symfony\Component\Validator\Constraints as Assert; 

/** 
* @ORM\Entity 
* @ORM\Table(name="documents") 
*/ 
class Document 
{ 
    /** 
    * @ORM\Id() 
    * @ORM\ManyToOne(targetEntity="Resource", inversedBy="documents") 
    * @ORM\JoinColumn(name="resource_id", referencedColumnName="id", nullable=false) 
    */ 
    protected $resource; 

    /** 
    * @ORM\Id() 
    * @ORM\ManyToOne(targetEntity="User", inversedBy="documents") 
    * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false) 
    */ 
    protected $owner; 

    /** 
    * ORM\Column(type="boolean") 
    */ 
    protected $enabled; 

    /** 
    * ORM\Column(type="string") 
    */ 
    protected $title; 

    /** 
    * ORM\Column(type="int") 
    */ 
    protected $value; 

} 

我的問題是,這種理論只生成有兩列resource_iduser_id,但其他領域都完全忽略了一個表。
同樣的事情發生在使用doctrine:generate:entities時,只爲兩個具有ManyToOne關係但其他人似乎不存在Doctrine的屬性生成獲取者/設置者。

什麼可能會導致這種奇怪的行爲,以及如何解決它?

由於

+0

你嘗試調用應用程序/控制檯原則:緩存:明確元數據之前做smth?它可能是相關的教條緩存... –

+0

是的,但它並沒有改變任何東西。 – ibi0tux

+5

Owww,請在ORM \ Column之前爲每個字段添加'@'符號 –

回答

2

添加@符號爲每個字段參考。它看起來像@ORM\Column...