我的表单中有以下私有方法:
function _verifywebsite ($id) {
$row = $this->websites->fetchRow("id=$id");
$row->verified_date = $this->_get_date(); // this is the line in question
$row->save();
}
我假设$ row要求我以正确的日期格式输入日期作为字符串值。
但是,如果我想包含一些SQL函数,比如NOW(),我可以将它分配给 $ row-> verified_date不知何故还是反对最佳做法?
答案 0 :(得分:9)
此代码为Active Record字段启用SQL表达式:
$row->verified_date = new Zend_Db_Expr('now()');
正如ZF手册所说:
您可能需要数据中的值 要被视为SQL的数组 表达式,在这种情况下他们应该 不被引用。默认情况下,所有数据 作为字符串传递的值被处理 作为字符串文字。要指定 该值是一个SQL表达式 因此不应该引用,通过 数据数组中的值为 Zend_Db_Expr类型的对象而不是 一个普通的字符串。