autorender - CakePHP encuentra DONDE NO ES IGUAL
this fetch cakephp (2)
puedes ver el error chicos? ¡mis condiciones AND se ignoran! Me estoy frustrando tanto con esas matrices ...
$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'']
]);
Sus condiciones deben ser [''Transaction.id'' => $client_id, ''Transaction.name !='' => ''Facturation'']
. Las condiciones múltiples de la matriz de conditions
se interpretan como condiciones ''Y''.
Entonces su consulta se vería así:
$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''
]
]
);
Solo necesita indexar and
si tiene claves de matriz de condición duplicadas; este no es el caso en su ejemplo ya que tiene Transaction.id
y Transaction.name !=
. Independientemente, el índice and
índice debería ser un índice dentro del conjunto de conditions
, no un hermano.
$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'')));
En caso de que si desea que ese nombre no sea uno de ellos, debe escribir la consulta de la siguiente manera:
$this->Transaction->find(''all'', array(''conditions'' => array(''NOT'' => array(''Transaction.name'' => array(''a'',''aa'',''aaa'')))));