2

我正在使用 zend 框架 2.2.2 编写一个 PHP 应用程序。我正在尝试使用包含静态值条件的连接创建选择查询。

这是我的代码:

    $this->select->join('global_image_link','global_image_link.table_pkey=drink_flavor.drink_flavor_id AND global_image_link.global_image_type_id=2',array())

现在查询的结尾包含以下内容:

global_image_link.global_image_type_id=2

当我执行 getSqlStringForSqlObject 返回查询时,查询的结尾是

 AND `global_image_link`.`global_image_type_id`=`2`

因为它将 `` 添加到它搜索名为 2 的列而不是数字 2 的数字中。

我想我需要以某种方式转义那个数字或用一些类包装它。

任何想法如何解决这个问题?

谢谢

4

1 回答 1

2

尝试像这样使用 new Zend_Db_Expr:

$this->select->join('global_image_link',new Zend_Db_Expr('global_image_link.table_pkey=drink_flavor.drink_flavor_id AND global_image_link.global_image_type_id=2'),array())

Zend_Db_Expr 不转义值,所以使用它时要小心。

于 2013-08-17T15:24:43.353 回答