【问题标题】:CakePHP find WHERE NOT EQUALCakePHP 找到 WHERE NOT EQUAL
【发布时间】:2015-06-11 12:30:14
【问题描述】:

你能看到错误吗?我的 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']
                ]);

【问题讨论】:

  • 您能否详细说明您遇到的不当行为?

标签: php cakephp frameworks


【解决方案1】:

您的条件必须是['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.idTransaction.name !=。无论如何,and 索引必须是conditions 数组中的索引,而不是兄弟。

【讨论】:

    【解决方案2】:
     $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')))));
    

    【讨论】:

      猜你喜欢
      • 2016-12-11
      • 1970-01-01
      • 2015-08-13
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      相关资源
      最近更新 更多