在 Zend_Db_Table_Row::save() 上应用 SQL 函数
保存 Zend_Db_Table_Row
时是否可以使 ZF 对一列应用 SQL 函数?
例如,如果 $row->save()
默认生成此 SQL 查询:
UPDATE table SET field = ? WHERE id = ?;
我希望它自动在此字段上应用 GeomFromText()
函数:
UPDATE table SET field = GeomFromText(?) WHERE id = ?;
谢谢有关如何使用 Zend_Db
执行此操作的任何提示!
Is it possible, when saving a Zend_Db_Table_Row
, to make ZF apply a SQL function on one column?
For example, if $row->save()
generates by default this SQL query:
UPDATE table SET field = ? WHERE id = ?;
I would like it to automatically apply the GeomFromText()
function on this field:
UPDATE table SET field = GeomFromText(?) WHERE id = ?;
Thanks for any hint on how to do this with Zend_Db
!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在您的类中定义一个继承自
Zend_Db_Table
(而不是来自Zend_Db_Table_Row
)的自定义update
方法,并使用Zend_Db_Expr
将列设置为函数返回值。请参阅此处的文档: http://framework.zend.com/manual/en/zend.db.table.html#zend.db.table.extending.insert-update。
Define a custom
update
method in your class that inherits fromZend_Db_Table
(not from theZend_Db_Table_Row
) and use aZend_Db_Expr
to set the column to the function return value.See the docs here: http://framework.zend.com/manual/en/zend.db.table.html#zend.db.table.extending.insert-update.
我只是猜测,但你可以尝试这个:
I am just guessing but you could try this: