活动记录查询从整数值列表中删除qoutes

时间:2017-04-17 08:05:17

标签: php codeigniter activerecord

我有以下代码

\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帮助

3 个答案:

答案 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);
相关问题