php - 与 zf2 中列的静态值连接

标签 php join zend-framework2

我正在使用 zend Framework 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。

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

有什么想法可以解决这个问题吗?

谢谢

最佳答案

尝试像这样使用新的 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 不会转义值,因此使用时要小心。

关于php - 与 zf2 中列的静态值连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18290278/

相关文章:

sql - 优化多个连接

MySQL连接2个表并检索最新的时间戳和消息

java - 如何在不加入子类的情况下使用 Hibernate 标准

php - ZF2 : How to get Zend\Navigation inside custom route?

php - Zend Framework 2 - 在 "finish"上注入(inject)额外的 HTML

zend-framework2 - ZF2-如果路由器匹配多个路由,将调度什么?

javascript - 自定义选择选项作为 mysql 填充下拉列表中的第一个选项

php - 如何在满足条件时从数组中删除元素

PHP 用 dom 返回 html 表的第 n 行

php - 如何在 php/mysql 中使用 while 循环从特定列中获取值?