简体   繁体   中英

How to write NOT in query in CakePHP find?

I have created one SQL sub-query which was running perfectly.

SELECT o.*, u.*,OD.* FROM orders o
LEFT JOIN order_details OD on o.id = OD.order_id
LEFT JOIN users u ON o.user_id = u.id 
WHERE o.order_status = 1 AND o.id NOT IN 
   (SELECT r.order_id FROM order_rejected_details r WHERE r.courier_id =$courierId) 
order by o.id desc

How to write above query with NOT in condition in CakePHP?

You can simply write this query in CakePHP as per below.

In model:

$resultData = $this->query('SELECT o.*, 
       u.*, 
       OD.* 
FROM   orders o 
       LEFT JOIN order_details OD 
              ON o.id = OD.order_id 
       LEFT JOIN users u 
              ON o.user_id = u.id 
WHERE  o.order_status = 1 
       AND o.id NOT IN (SELECT r.order_id 
                        FROM   order_rejected_details r 
                        WHERE  r.courier_id = $courierid) 
ORDER  BY o.id DESC');

return $resultData;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM