Pages

2010年1月15日金曜日

Zend_Framework Zend_Db_Select で何かした変な判断されてしまう時に試してみる。

$select = $this->_db->select()
->from('diary', array(
'date_month' => new Zend_Db_Expr("DATE_FORMAT(open_date, '%Y-%m-01 00:00:00')"),
'cnt' => "COUNT(*)"
));

Zend_Db_Expr オブジェクトで指定すれば何も余計な事はしなくなるようです。

Zend_Db_Expr 型のオブジェクトを明示的に作成し、 文字列がカラム名と解釈されてしまうことを防ぐこともできます。 Zend_Db_Expr は、文字列をひとつだけ含む最小限のクラスです。 Zend_Db_Select は Zend_Db_Expr 型のオブジェクトを認識し、 それを文字列に変換しますが、 その際にクォートや相関名などの処理を適用しません。

0 件のコメント:

コメントを投稿

Followers