如何将数据添加到使用ZF获取的数据库行?

时间:2009-12-12 00:36:07

标签: database zend-framework

我正在使用Zend Framework的Zend_Db_Table类来从数据库中获取数据。

我想通过添加内容来“优化”我从表中获取的每一行。在一个普通的旧SQL查询中,我会写例如。 SELECT *, dueDate<NOW() AS isOverdue。在这个例子中,可以向SQL查询提供额外的字段,但有时可能更适合用PHP做额外的事情。无论如何,我主要在我的观点中使用这些信息,例如。相应地突出显示过期的项目。

在ZF应用程序中添加此isOverdue数据的好地方是什么? 到目前为止我的想法:

  • 发现ZF有一个内置的机制(到目前为止还不成功)
  • 继承Zend_Db_Table_Row
  • 在我的Zend_Db_Table课程
  • 中覆盖_fetch()
  • 重新思考这是否是一种理智的模式:)

作为奖励,我仍然可以使用ZF来更新行。也许这是(另一个)自定义字段命名约定的原因?

1 个答案:

答案 0 :(得分:2)

为什么重新发明轮子?有一个内置的功能来执行此操作:

$this->select()->from('your_table_name_here', array('*', 'dueDate<NOW() AS isOverdue'));

只需使用from()函数的第二个参数指定所需的列,它就会生成所需的SQL(默认情况下,如果不使用第二个参数,则会生成“SELECT * FROM table”查询)。


PavelDubinin.com - Professional Web Development blog