CakePHP 找到 WHERE NOT EQUAL
CakePHP find WHERE NOT EQUAL
你们能看到错误吗?我的 AND 条件被忽略了!我对这些数组感到非常沮丧..
$transaction_query = $this->Transaction->find('all',
[
'limit' => $countList,
'fields' => ['Transaction.client_id','Transaction.name','Transaction.created','Transaction.message_id','Transaction.credit'],
'conditions' => ['Transaction.id' => $client_id],
'AND' => ['Transaction.name !=' => 'Facturation']
]);
$this->Transaction->find( 'all', array(
'limit' => $countList,
'fields' => ['Transaction.client_id','Transaction.name','Transaction.created','Transaction.message_id','Transaction.credit'],
'conditions' => array("not" => array ( 'Transaction.id' => $client_id)),
'AND' => array('not' => ('Transaction.name ' => 'Facturation')));
如果您希望该名称不应该是其中任何一个,那么您应该按如下方式编写查询:
$this->Transaction->find('all', array('conditions' => array('NOT' => array('Transaction.name' => array('a','aa','aaa')))));
您的条件需要['Transaction.id' => $client_id, 'Transaction.name !=' => 'Facturation']
。 conditions
数组的多个条件被解释为'AND'个条件。
因此您的查询将如下所示:-
$transaction_query = $this->Transaction->find('all',
[
'limit' => $countList,
'fields' => [
'Transaction.client_id',
'Transaction.name',
'Transaction.created',
'Transaction.message_id',
'Transaction.credit'
],
'conditions' => [
'Transaction.id' => $client_id,
'Transaction.name !=' => 'Facturation'
]
]
);
如果你有重复的条件数组键,你只需要按and
索引;在您的示例中情况并非如此,因为您有 Transaction.id
和 Transaction.name !=
。无论如何,and
索引需要是 conditions
数组内的索引,而不是兄弟。
你们能看到错误吗?我的 AND 条件被忽略了!我对这些数组感到非常沮丧..
$transaction_query = $this->Transaction->find('all',
[
'limit' => $countList,
'fields' => ['Transaction.client_id','Transaction.name','Transaction.created','Transaction.message_id','Transaction.credit'],
'conditions' => ['Transaction.id' => $client_id],
'AND' => ['Transaction.name !=' => 'Facturation']
]);
$this->Transaction->find( 'all', array(
'limit' => $countList,
'fields' => ['Transaction.client_id','Transaction.name','Transaction.created','Transaction.message_id','Transaction.credit'],
'conditions' => array("not" => array ( 'Transaction.id' => $client_id)),
'AND' => array('not' => ('Transaction.name ' => 'Facturation')));
如果您希望该名称不应该是其中任何一个,那么您应该按如下方式编写查询:
$this->Transaction->find('all', array('conditions' => array('NOT' => array('Transaction.name' => array('a','aa','aaa')))));
您的条件需要['Transaction.id' => $client_id, 'Transaction.name !=' => 'Facturation']
。 conditions
数组的多个条件被解释为'AND'个条件。
因此您的查询将如下所示:-
$transaction_query = $this->Transaction->find('all',
[
'limit' => $countList,
'fields' => [
'Transaction.client_id',
'Transaction.name',
'Transaction.created',
'Transaction.message_id',
'Transaction.credit'
],
'conditions' => [
'Transaction.id' => $client_id,
'Transaction.name !=' => 'Facturation'
]
]
);
如果你有重复的条件数组键,你只需要按and
索引;在您的示例中情况并非如此,因为您有 Transaction.id
和 Transaction.name !=
。无论如何,and
索引需要是 conditions
数组内的索引,而不是兄弟。