2017-04-17 80 views
0

我有以下活動記錄的查詢從整數列表中移除qoutes值

\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

問題在'$ orderNumber'中,你能顯示var_dump($ orderNumber)的值嗎? –

+0

是它的一個數組,它使用implode(',',$ ordernumber)轉換爲字符串 – samar

回答

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); 
+0

它的工作非常感謝。 – samar

+0

@samar很樂意幫助你。乾杯:):):) –

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

你需要傳遞的orderNumber數組一樣

$orderNumber = array(14,12); 
$this->db->where_in('id', $orderNumber);