在cakephp中如何在NOT in condition中传递内爆值

在cakephp中如何在NOT in condition中传递内爆值,php,cakephp,Php,Cakephp,当我试图打印时($temp);退出()我得到以下逗号分隔形式的值 805806 但是,当我在我的非条件中传递此值时,它仅适用于806而不适用于805和806 下面是我的代码 public function newOrderList() { if($this->processRequest){ $conditio = array('User.id'=>$this->requestData['courierId'],'User.user_type'

当我试图
打印时($temp);退出()我得到以下逗号分隔形式的值
805806

但是,当我在我的非条件中传递此值时,它仅适用于
806
而不适用于
805
806

下面是我的代码

public function newOrderList() { 
    if($this->processRequest){
            $conditio = array('User.id'=>$this->requestData['courierId'],'User.user_type'=>2); 
            $checkUser = $this->User->find('first',array('conditions'=>$conditio));
            if(!empty($checkUser)){
                $courierId = $this->requestData['courierId'];
                $cond = array('OrderRejectedDetail.courier_id'=>$courierId); 
                $ordRej = $this->OrderRejectedDetail->find('all',array('conditions'=>$cond));
                if(!empty($ordRej)){
                    foreach ($ordRej as $key => $value) {
                        $orderId[] = $value['OrderRejectedDetail']['order_id'];
                    }
                    $temp = implode(',',$orderId);
                }                  
                $data = $this->Order->find('all', array(
                    'conditions' => array(
                        "NOT" => array("Order.id" => array($temp))
                    )
                ));
                print_r($data); exit();
            }
        }
}

您不再需要内爆,请将您的代码设置为:

if(!empty($ordRej)){
    foreach ($ordRej as $key => $value) {
        $orderId[] = $value['OrderRejectedDetail']['order_id'];
    }
    // $temp = implode(',', $orderId);
}                  
$data = $this->Order->find('all', array(
    'conditions' => array(
        'NOT' => array('Order.id' => $orderId)
    )
));

您不再需要内爆,请将您的代码设置为:

if(!empty($ordRej)){
    foreach ($ordRej as $key => $value) {
        $orderId[] = $value['OrderRejectedDetail']['order_id'];
    }
    // $temp = implode(',', $orderId);
}                  
$data = $this->Order->find('all', array(
    'conditions' => array(
        'NOT' => array('Order.id' => $orderId)
    )
));

您是否尝试过这样的方法:“Order.id”=>explode(“,”,$temp)您需要像这样传递它:
不在('805','806')
为什么您首先需要内爆?您是否尝试过这样的方法:“Order.id”=>explode(,“,$temp)您需要像这样传递它:
不在('805','806')
为什么您首先需要内爆?