2014-03-14 38 views
0

我在cakephp中做了一個搜索功能。搜索基於特定範圍之間的價格,特定類別,創建日期等參數的數量。大多數參數不是強制性的。如何在單條條款(非必填字段)中指定這些條件。值的數量可能會根據不同的類別而改變。CakePHP查詢中的動態條件

回答

0

由於條件作爲數組傳遞,您可以動態構建此數組(然而,您決定哪些字段是條件的一部分),然後使用該變量作爲條件。

E.g.此查詢

$cheapJacuzzis = $this->Item->find(
    'all', 
    array(
     'conditions' => array(
      'Item.price <' => 300, 
      'Item.category' => 'Jacuzzi' 
     ), 
     'order' => 'Item.price ASC' 
    ) 
); 

變爲

$conditions = array(
    'Item.price <' => 300, 
    'Item.category' => 'Jacuzzi' 
); 

$cheapJacuzzis = $this->Item->find(
    'all', 
    array(
     'conditions' => $conditions, 
     'order' => 'Item.price ASC' 
    ) 
); 

這可以用你需要動態創建數組的CakePHP的所有情況進行詢問的參數集。