使用 Propel 在 NOW() 处设置一个值
Set a value at NOW() with Propel
我想在 Propel 中重写此类查询:
UPDATE my_table
SET my_datetime_field = NOW()
WHERE my_id = 99;
有办法吗?
是的,您有几个选择:
选项 1:
假设您在 schema.xml 中将列定义为 TIMESTAMP,您可以这样做:
$row->setMyDateTimeField('now');
Read more about Propel's Temporal Clumns...
选项 2:
您可以在 class 中设置一个挂钩,每次在 table 中更新行时都会调用该挂钩:
<?php
class MyTable extends BaseMyTable
{
public function preUpdate(PropelPDO $con=null)
{
$this->setMyDateTimeField('now');
return true;
}
....
Read more about Propel's Behaviours
结论
如果您有不止一个更新 table 的逻辑,则选项 2 更有利,both/all 更新将受益于此更新
我想在 Propel 中重写此类查询:
UPDATE my_table
SET my_datetime_field = NOW()
WHERE my_id = 99;
有办法吗?
是的,您有几个选择:
选项 1:
假设您在 schema.xml 中将列定义为 TIMESTAMP,您可以这样做:
$row->setMyDateTimeField('now');
Read more about Propel's Temporal Clumns...
选项 2:
您可以在 class 中设置一个挂钩,每次在 table 中更新行时都会调用该挂钩:
<?php
class MyTable extends BaseMyTable
{
public function preUpdate(PropelPDO $con=null)
{
$this->setMyDateTimeField('now');
return true;
}
....
Read more about Propel's Behaviours
结论
如果您有不止一个更新 table 的逻辑,则选项 2 更有利,both/all 更新将受益于此更新