2014-02-19 32 views
0

我有一個具有多個字段的實體。現在我已經添加到我的數據庫一個新的列「日期」,這是一個日期時間對象。Symfony2不會保留表中的所有列

但是,當我向數據庫添加一個新的寄存器時,這個字段的值始終爲null,從未捕獲到我在表單中放置的值。

該實體具有正確的值,但是如果我看到所有值,實體管理器都有一個名爲「SelectColumnListSQL」的變量,並且在此SQL操作中不會出現字段「date」。

日誌不會寫入任何錯誤,只存儲在我的數據庫中的其餘領域確定,但沒有。

如果幹草使用開發enviromnent,在這種情況下,所有作品的權利:S

任何想法?

---實體信息---

/** 
* @var \DateTime 
* 
* @ORM\Column(name="date", type="datetime", nullable=false) 
*/ 
protected $date; 

/** 
* Set date 
* 
* @param \DateTime $date 
* @return Quotes 
*/ 
public function setDate($date) 
{ 
    $this->date = $date; 

    return $this; 
} 

/** 
* Get date 
* 
* @return \DateTime 
*/ 
public function getDate() 
{ 
    return $this->date; 
} 

謝謝! ORM您使用的這些

+0

你清除緩存?爲什麼你默認不使用開發模式? – goto

+0

謝謝。是的,我清理了緩存,我需要使用生產環境在互聯網上發佈我的應用程序。 – user2794692

回答

0

請,混凝土(學說,行走...)

你是否已經運行下面的命令?

php app/console doctrine:generate:entities 
php app/console doctrine:schema:update 

您必須在你的實體目錄的信息在你的包

+0

謝謝,我正在使用Doctrine。是的,我使用這個命令,一切正常。即使在開發環境所有工作正常。現在我添加了我的實體信息。 – user2794692

0

我敢肯定,你忘了一個setter方法或方法的拼寫錯誤。

有關更多詳細信息,請參閱下面的示例。

假設你有這樣的實體

class Entity{ 
    // ... 
    private field; 


    // the getter and setter methods 
    public function getField(){ 
    // ... 
    } 

    public function setField(){ // I guess this function is missing or misspelled 
    // ... 
    // If the function is missing or misspelled, 
    // doctrine will not take into account the changes you did for that field 
    } 

} 

最好,

+0

謝謝,但我相信我擁有所有這些領域。我已將此信息添加到我的原始帖子中。謝謝:) – user2794692

+0

給我你的實體看看有什麼建議! –

0

檢查是否已完全以該命令更新數據庫:

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

謝謝,但我的數據庫更新,我用這個命令:/ – user2794692