2014-03-31 62 views
0

我有一個簡單的搜索與3個數據,現在需要不是所有的數據來填充,有些人可能會留下空...查找CakePHP的 - 不同的查詢條件

,因爲他們充滿:

$this->Praca->find('all',array(
'conditions'=>array(
'kategoria'=>$wyniki['kategoria'][0], 
'wojewodztwo'=>$wyniki['wojewodztwo'], 
'poziom'=>$wyniki['poziom'] 
))); 

現在,fe。當$ wyniki [「kategoria」]是空的,我必須:

$this->Praca->find('all',array(
'conditions'=>array(
'wojewodztwo'=>$wyniki['wojewodztwo'], 
'poziom'=>$wyniki['poziom'] 
))); 

要很多的可能性,我需要找到一個聰明的辦法,任何想法? :)

回答

0

在你需要爲每個每個節點添加條件Fazel方式。但下面的情況下,你可以添加任意多的條件

$conditions = array(); 
$i=1; 
foreach ($wyniki as $key=>$wyn){ 
    if(!empty($wyniki[$key])){ 
     $conditions[$i++] = array($key=>$wyn); //or array($key=>end($wyn)) 
    } 
} 
$this->Praca->find('all',array('conditions'=>$conditions)); 
2

試試這個

$conditions = array(); 

if(!empty($wyniki['kategoria'][0])){ 
    $conditions = array('kategoria'=>$wyniki['kategoria'][0]); 
} 

等等... ........

$this->Praca->find('all', compact('conditions'));