http://framework.zend.com/manual/ja/zend.db.select.html
> 例19 orWhere() メソッドの例
> $select = $db->select()
> ->where('price < ?', $minimumPrice)
> ->orWhere('price > ?', $maximumPrice);
これはよくある作りで問題無い。
> 例20 論理式を括弧で囲む例
> $select = $db->select()->where("price < $minimumPrice OR price > $maximumPrice")
なんでいきなりベタ書きになってんだよ。
$db->select()->where("price < ? OR price > ?", array($minimumPrice, $maximumPrice))
って書くべきだろそこ。
ちなみにZend_Db_Selectでは"SELECT * FROM hoge WHERE A AND (B OR C)"というSQLが普通には作れません。
$db->select()->where('A')->where('(B')->orWhere('C)');
とアクロバティックな書き方をする必要があります。
なんで?
> 例19 orWhere() メソッドの例
> $select = $db->select()
> ->where('price < ?', $minimumPrice)
> ->orWhere('price > ?', $maximumPrice);
これはよくある作りで問題無い。
> 例20 論理式を括弧で囲む例
> $select = $db->select()->where("price < $minimumPrice OR price > $maximumPrice")
なんでいきなりベタ書きになってんだよ。
$db->select()->where("price < ? OR price > ?", array($minimumPrice, $maximumPrice))
って書くべきだろそこ。
ちなみにZend_Db_Selectでは"SELECT * FROM hoge WHERE A AND (B OR C)"というSQLが普通には作れません。
$db->select()->where('A')->where('(B')->orWhere('C)');
とアクロバティックな書き方をする必要があります。
なんで?
PR
トラックバック
トラックバックURL: