我有一个包含多个字段的实体。现在我已经在我的数据库中添加了一个新的日期时间列“date”。
但是当我向数据库添加一个新的寄存器时,这个字段的值总是为null,从未捕获我放在表单中的值。
实体具有正确的值,但如果我看到所有值,则实体管理器有一个名为“SelectColumnListSQL”的变量,并且在此SQL操作中,不会出现“date”字段。
日志不会写任何错误,只在我的数据库中存储其余字段,但不是。
如果干草使用dev 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;
}
谢谢!
答案 0 :(得分:0)
请具体使用ORM(Doctrine,Propel ......)
您是否已经运行以下命令?
php app/console doctrine:generate:entities
php app/console doctrine:schema:update
您必须在Bundle中的Entity目录中包含信息
答案 1 :(得分: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
}
}
最好的,
答案 2 :(得分:0)
通过以下命令检查您是否完全更新了数据库:
php app/console doctrine:schema:update --dump-sql