2013-12-09 133 views
0

我的東東從我的數據庫中提取所有與此條件我怎樣才能找到一個分貝多個條件

$result = $this->Acl->Aco->find(
      'all', 
      array(
       'conditions'=>array(
        'Aco.alias'=>'controllers' 
       ) 
       ), 
      array('order' => 'Aco.lft ASC', 'recursive' => 1)); 
     debug($result); 

這項工作! 但現在我想提取該行數據,其中Aco.alias是伊蓋爾到 1.控制器 2. admin_index 3. admin_edit 4. admin_del

這我不能做到這一點。我嘗試了以下操作,但它只提取最後一個條件:

$result = $this->Acl->Aco->find(
      'all', 
      array(
       'conditions'=>array(
        'Aco.alias'=>'controllers', 
        'Aco.alias'=>'admin_index', 
        'Aco.alias'=>'admin_edit', 
        'Aco.alias'=>'admin_delete' 
       ) 
       ), 
      array('order' => 'Aco.lft ASC', 'recursive' => 1)); 
     debug($result); 

我可以讓您更正我的要求嗎?

乾杯

回答

1

使用數組是這樣的:

$conditions = array('controllers','admin_index','admin_edit','admin_delete'); 

$result = $this->Acl->Aco->find(
      'all', 
      array(
       'conditions'=> array('Aco.alias'=>$conditions) 
       ), 
      array('order' => 'Aco.lft ASC', 'recursive' => 1)); 
+0

感謝了很多。我現在可能想要將我的重新取消轉換爲過濾器。看到我第二個問題/答案。 – pierrot10

+0

你在第二個問題/答案中遇到什麼錯誤? – Vicky

+0

這裏是錯誤:SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'Aco.alias'。這個錯誤是「正常的」,因爲它應該深入陣列。而且我不知道該怎麼做 – pierrot10