0

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

我有桌子

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.结束日期自动计算并保持更新。

我该如何管理?

参考:我的学说代码如下

/**
 * @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;
4

1 回答 1

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 */
于 2013-05-06T14:44:01.433 回答