我怎样才能使where_in为空

时间:2017-07-09 17:05:48

标签: php codeigniter-3

我想在codeigniter中有效地清空where_in,但是当我的数组上没有任何项目时,我会收到类似

的错误
  

错误号码:1064

     

您的SQL语法有错误;查看与MariaDB服务器版本对应的手册,以获取正确的语法   靠近')'在第3行

SELECT `code`, `description`, `purchase_price`, `sale_price`, `wholesale_price`, `min_stock`, `stock`, `max_stock`, `provider_id` FROM `storelte_products` WHERE `id` IN()

如果codeigniter为空,我怎么能在该错误上有效?

我的代码看起来像这样

控制器

$this->session->carrito = $this->sale->checar_existe_carrito();
        $array = $this->sale->get_all_cart($this->session->carrito);
        $product_id = array();
    foreach ($array as $key => $value) {
             $product_id[] = $value['id'];
        }
        print_r($this->products->get_product_id($product_id));

模型

  public function get_product_id($id) {
        $this->db->select('code,description,purchase_price,sale_price,wholesale_price,min_stock,stock,max_stock,provider_id');
        $this->db->from('storelte_products');
        $this->db->where_in('id', $id);
        $response = $this->db->get();
        return $response ? $response->row() : false;
    }

1 个答案:

答案 0 :(得分:0)

在执行查询之前检查它是否为空:

const chai = require('chai')

describe('add',function(){

   chai.should()
   const result = 6

   result.should.be.a('number')
   result.should.equal(6)

})