2008-09-17 18 views
0

:ここで、()とorWhere()の組み合わせを使用した場合Zend Frameworkの選択演算子の優先順位

SELECT * FROM bar WHERE a = 1 AND (b = 2 OR b = 3) 

はしかし、それは不可能です上記のような条件グループを使用します。

は、上記目的を達成するためのZend Frameworkの任意のネイティブな方法があります(実際のクエリを記述することなく?) the manualから

答えて

2

(例11.61。括弧で囲むブール式の例)


// Build this query: 
// SELECT product_id, product_name, price 
// FROM "products" 
// WHERE (price < 100.00 OR price > 500.00) 
//  AND (product_name = 'Apple') 

$minimumPrice = 100; 
$maximumPrice = 500; 
$prod = 'Apple'; 

$select = $db->select() 
      ->from('products', 
        array('product_id', 'product_name', 'price')) 
      ->where("price < $minimumPrice OR price > $maximumPrice") 
      ->where('product_name = ?', $prod); 

0

上記参照素晴らしいですが、もしあなたが弦で演奏しているのであれば?ここで

でしょうが、私はそれが役に立てば幸い

// Build this query: 
// SELECT product_id, product_name, price 
// FROM "products" 
// WHERE (product_name = 'Bananas' OR product_name = 'Apples') 
//  AND (price = 100) 

$name1 = 'Bananas'; 

$name2 = 'Apples'; 

$price = 100; 

$select = $db->select() 

->from('products', 
        array('product_id', 'product_name', 'price')) 

->where("product_name = '" . $name1 . "' OR product_name = '" . $name2 . "'") 

->where("price=?", $price); 

...文字列を含む上記の例です。文字列を正しく動作させるために、私を何かばかげかけるようにしました。

乾杯。

+0

ご返信いただきありがとうございます。 –

関連する問題