2013-01-21 35 views
2

我有一個名爲Users表和以下查找工作正常:find的條件CakePHP的語法

$users = $this->User->find('list', array('conditions'=>array('User.id'=>1))); 

但是,如果我試圖讓用戶的列表與"User.id != 1" or "User.id >= 5",查找不返回數據。

我用的語法是

$users = $this->User->find('list', array('conditions'=>array('User.id'=>'<> 1'))); 

$users = $this->User->find('list', array('conditions'=>array('User.id'=>'>= 1'))); 

通過蛋糕爲User.id => '<> 1')情況下產生的調試查詢

SELECT `User`.`id`, `User`.`first_name` FROM `mesh2`.`users` AS `User` WHERE `User`.`id` = '<>1', 

這似乎是不正確的。

我已經使用了來自Alvin的site的示例。有任何想法嗎?

回答

0

可能的密鑰,所有這一切是可選的:

$params = 
     array(
     'conditions' => array('Model.field' => $thisValue), //array of conditions 
     'recursive' => 1, //int 
     //array of field names 
     'fields' => array('Model.field1', 'DISTINCT Model.field2'), 
     //string or array defining order 
     'order' => array('Model.created', 'Model.field3 DESC'), 
     'group' => array('Model.field'), //fields to GROUP BY 
     'limit' => n, //int 
     'page' => n, //int 
     'offset' => n, //int 
     'callbacks' => true //other possible values are false, 'before', 'after' 
    ); 

查詢:

$resp = find('all', $params); 

debug($resp); 
0
$this->User->find('list', array(
    'conditions'=>array('User.id >=' => true)));