我正在使用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添加数字。
我想我需要以某种方式逃避这个数字或用一些类包装它。
如何解决问题?
感谢
答案 0 :(得分: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不会转义值,因此使用时要小心。