【问题标题】:Selecting arbitrary strings with Zend DB Select?使用 Zend DB Select 选择任意字符串?
【发布时间】:2010-05-03 23:18:15
【问题描述】:

我正在使用流畅的界面来创建 Zend DB Select 对象/查询。作为查询的一部分,我想选择一个任意字符串,例如“SELECT 'foo' AS 'type' FROM ...”。 foo 不是列,它只是一个字符串文字。

当我选择任意数字时,查询会按预期工作。当我将其更改为字符串时,Zend 尝试将 foo 视为列,并抛出错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'l.foo' in 'field list'

我曾尝试以各种方式将字符串包装在 Zend_Db_Expr 中,例如:

$select->columns(array('type' => new Zend_Db_Expr('foo')));

这会阻止 Zend 添加相关名称,但仍将其视为一列:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'foo' in 'field list'

我觉得我必须在这里遗漏一些明显的东西。如何告诉 Zend 停止将其视为列?

【问题讨论】:

    标签: zend-framework zend-db


    【解决方案1】:

    您是否尝试过:

    $select->columns(array('type' => new Zend_Db_Expr("'foo'")));
    

    您实际上还需要在 SQL 中为 'foo' 加上引号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多