可以让两列一起工作吗?

时间:2013-05-03 21:33:55

标签: sql doctrine-orm

是否可以让两列一起工作?

我有

的表格
id |startdate           |length  |enddate
1  |2013-10-10 03:00:00 |60      |2013-10-10 04:00:00
2  |2013-10-11 04:00:00 |40      |2013-10-10 04:40:00

当我换新行时。 我认为enddate可以自动计算 按值startdate和length。

我想做的是:

1.输入两个值(长度,开始日期) 2.enddate会自动计算并不断更新。

我该如何管理?

参考: 我的学说代码如下所示

/**
 * @var \DateTime
 *
 * @ORM\Column(name="startdate", type="datetime")
 */
private $startdate;

/**
 * @var \DateTime
 *
 * @ORM\Column(name="enddate", type="datetime")
 */
private $enddate;

/**
 *
 * @ORM\Column(name="length",type="integer")
 */
private $length;

1 个答案:

答案 0 :(得分:1)

您可以使用活动:

/** @PrePersist */
public function updateEndDate()
{
    // this won't work because you need to use DateTime() but just as an example
    $this->endDate = $this->startDate + $this->length ;
}

检查:http://docs.doctrine-project.org/en/2.0.x/reference/events.html#prepersist

并且不要忘记添加注释:

/** @HasLifecycleCallbacks */