在where子句中的某些空字段的数组在Codeigniter Activerecord中不起作用

时间:2016-10-01 11:53:25

标签: activerecord codeigniter-3

我正在尝试运行此查询在where子句中传递% gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 8.0.0 (clang-800.0.38) Target: x86_64-apple-darwin15.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 数组。但是在此$data数组中,一个或多个字段值可以为null,而某些字段不是如下所示: / p>

$data

如何根据where子句中的$data = Array( [c.client_id]=> [c.conn_type]=> [c.pkg_id]=> 2 [c.area_id]=> 1 [c.managed_by]=> 3 [c.status]=> ) function getAllClientByParam($data){ $this->db->select('c.client_id, c.client_name, c.conn_charge, c.con_date, cd.disconnect, c.mobile, p.pkg_name, ct.conn_type, s.status, a.area, m.managed_by, c.remarks'); $this->db->from('bill_client AS c'); $this->db->join('bill_connection_details AS cd','c.client_id=cd.client_id','LEFT'); $this->db->join('bill_pkg AS p','c.pkg_id=p.pkg_id','LEFT'); $this->db->join('bill_connection_type AS ct','c.conn_type=ct.conn_id','LEFT'); $this->db->join('bill_conn_status AS s','c.status=s.id','LEFT'); $this->db->join('bill_area AS a','c.area_id=a.area_id','LEFT'); $this->db->join('bill_managed_by AS m','c.managed_by=m.managed_id','LEFT'); $this->db->where('c.company_id', $this->company_id); $this->db->where($data); $client_list = $this->db->get(); $data = $client_list->result(); return $data; } 变量检索此查询的所有数据?

1 个答案:

答案 0 :(得分:0)

在你的示例$ data中,它总是必须包含实际具有值的条目...所以你需要示例$ data ...

    $data = array(
        'c . pkg_id'      => 2,
        'c . area_id '    => 1,
        'c . managed_by' => 3
    );

所以你需要在将$ data数组传递给方法之前构建它。