我有以下代码
\CI::db()->select($select)->join('customers', 'customers.id = orders.customer_id', 'left')->join('customers_address_bank as shipping', 'shipping.id = orders.shipping_address_id', 'left')->join('customers_address_bank as billing', 'billing.id = orders.billing_address_id', 'left');
\CI::db()->where_in('orders.id',$orderNumber);
它会生成此查询
SELECT `gc_orders`.*, `gc_customers`.*, `gc_orders`.`id` as `id`, `shipping`.`id` as `shipping_id`, `billing`.`id` as `billing_id`, `shipping`.`customer_id` as `shipping_customer_id`, `billing`.`customer_id` as `billing_customer_id`, `shipping`.`company` as `shipping_company`, `billing`.`company` as `billing_company`, `shipping`.`firstname` as `shipping_firstname`, `billing`.`firstname` as `billing_firstname`, `shipping`.`lastname` as `shipping_lastname`, `billing`.`lastname` as `billing_lastname`, `shipping`.`email` as `shipping_email`, `billing`.`email` as `billing_email`, `shipping`.`phone` as `shipping_phone`, `billing`.`phone` as `billing_phone`, `shipping`.`address1` as `shipping_address1`, `billing`.`address1` as `billing_address1`, `shipping`.`address2` as `shipping_address2`, `billing`.`address2` as `billing_address2`, `shipping`.`city` as `shipping_city`, `billing`.`city` as `billing_city`, `shipping`.`zone` as `shipping_zone`, `billing`.`zone` as `billing_zone`, `shipping`.`zip` as `shipping_zip`, `billing`.`zip` as `billing_zip`, `shipping`.`country` as `shipping_country`, `billing`.`country` as `billing_country`, `shipping`.`country_code` as `shipping_country_code`, `billing`.`country_code` as `billing_country_code`, `shipping`.`country_id` as `shipping_country_id`, `billing`.`country_id` as `billing_country_id`, `shipping`.`zone_id` as `shipping_zone_id`, `billing`.`zone_id` as `billing_zone_id`, `shipping`.`deleted` as `shipping_deleted`, `billing`.`deleted` as `billing_deleted` FROM `gc_orders` LEFT JOIN `gc_customers` ON `gc_customers`.`id` = `gc_orders`.`customer_id` LEFT JOIN `gc_customers_address_bank` as `shipping` ON `shipping`.`id` = `gc_orders`.`shipping_address_id` LEFT JOIN `gc_customers_address_bank` as `billing` ON `billing`.`id` = `gc_orders`.`billing_address_id` WHERE `gc_orders`.`id` IN**('14,12')**
我想删除这些qoutes.Please帮助
答案 0 :(得分:2)
问题不在于引号。检查一下:
WHERE `gc_orders`.`id` IN**('14,12')**
应该是这样的:
WHERE `gc_orders`.`id` IN(14,12); // If the column is integer
WHERE `gc_orders`.`id` IN('14','12'); // If the column is varchar
答案 1 :(得分:1)
您需要传递orderNumber
的数组
$orderNumber = array(14,12);
$this->db->where_in('id', $orderNumber);
答案 2 :(得分:1)
尝试这样: -
$orderNumber = array(14,12);
$this->db->where_in('id', $orderNumber);
<强> 或者: - 强>
$orderNumber = array (14,12);
$orderNumber = "('".implode("','",$orderNumber)."')";
$this->db->where_in('id', $orderNumber);
<强> 或者: - 强>
$orderNumber = "'".implode("','",$orderNumber)."'";
$this->db->where_in('id', $orderNumber);
<强> 或者: - 强>
$orderNumber = implode("','",$orderNumber);
$this->db->where_in('id', $orderNumber);