代码之家  ›  专栏  ›  技术社区  ›  tuomassalo

如何将数据添加到用zf提取的db行中?

  •  1
  • tuomassalo  · 技术社区  · 15 年前

    我正在使用Zend框架 Zend_Db_Table 类从数据库中获取数据。

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

    有什么好地方可以加这个 isOverdue ZF应用程序中的数据? 到目前为止我的想法是:

    • 发现ZF对此有内置机制(目前尚未成功)
    • 子类化 Zend_Db_Table_Row
    • 覆盖 _fetch() 在我的 森达尔巴赫表
    • 重新思考这是否是一个健全的模式:)

    另外,我还可以使用ZF更新行。也许这是(另一个)自定义字段命名约定的原因?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Pavel Dubinin    15 年前

    为什么要重新发明轮子?有一个内置的功能可以做到这一点:

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

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


    PavelDubinin.com - Professional Web Development blog