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 に答える