Phpactivecord,更新对象的NOW()


Phpactiverecord, updating NOW() for an object

我一直在尝试为一个项目使用phpactiverecord。。我很难确定我是否真的可以通过mysql的任何本地更新方法传递它。我有点惊讶,我在其他地方都找不到这个问题的答案。

编辑:使用该框架一年后,一个简单的答案就是:$object->date = 'now'

如果我理解正确,您希望调用NOW()来更新时间戳字段。有几种选择。

  • 使用"updated_at"字段:http://www.phpactiverecord.org/projects/main/wiki/Utilities#automatic-时间戳

    具有名为created_at和updated_at的字段的模型将在模型创建和模型更新时自动更新这些字段。

  • 对回调执行某种更新:http://www.phpactiverecord.org/projects/main/wiki/Callbacks

  • 只需使用php函数手动更新

    $obj->yourDateField = new 'DateTime(); 
    

虽然我可能不在基础上,但我认为您不会直接将sql传递到活动记录中。然而,我对活动记录的理解(通过使用Yii版本的活动记录)是,活动记录是建立在CDbConnection上的,来自类CActiveRecord:

/***@var CDbConnection所有活动记录类的默认数据库连接。*默认情况下,这是"db"应用程序组件。*@参见getDbConnection*/

在Yii访问这个你可以使用代码:

$sql = 'select * from mytable';
$rows = Yii::app()->db->createCommand($sql)->queryAll();

如果你不使用Yii,你将不得不查找如何访问数据库对象。