我正在使用 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/