坚持Doctrine2时如何跳过列?
Posted
技术标签:
【中文标题】坚持Doctrine2时如何跳过列?【英文标题】:How to skip column when persisting in Doctrine2? 【发布时间】:2012-09-26 08:06:41 【问题描述】:当对象是created
时,我有一列,当它是updated
时,我有一列。
当我创建并保留新对象时,我从 mysql 收到错误:
updated 不能为空。
我没有为其设置任何值,因为我希望 updated
列保持不变并最终获得默认数据库值。
如何告诉教义只保留那些我明确设置/更改的值的列?
【问题讨论】:
向我们展示您的实体配置 - 您必须将其设置为需要一个值 仍在等待doctrine-project.org/jira/browse/DDC-2045的答复 【参考方案1】:确保您的列定义将nullable
定义为true
。
/**
* @Column(type="datetime", nullable=true)
*/
protected $updated;
【讨论】:
不起作用。如果您查看源代码,您会发现nullable
仅用于关系/连接
@coviex 呃,不... docs.doctrine-project.org/en/2.0.x/reference/…【参考方案2】:
那么您应该将实体中的列设置为可为空的 false。
在您的实体中:
/**
* @var datetime $date_updated
*
* @ORM\Column(type="datetime", nullable=true)
*/
private $date_updated;
【讨论】:
如果设置为nullable=false
,则意味着它需要一个值
对不起我的错误。我已经改了。以上是关于坚持Doctrine2时如何跳过列?的主要内容,如果未能解决你的问题,请参考以下文章