【问题标题】:CI multiple like condition activerecordCI 多个类似条件 activerecord
【发布时间】:2016-05-19 06:45:27
【问题描述】:

我有以下 Active Record 查询。

public function select_kd_barang_detail($kd = null) {
    $this->db->select("a.no_barang, a.kd_barang, b.jenis, c.ukuran, d.merk, e.nama_barang");
    $this->db->from("t_barang_detail a, t_barang_jenis b, t_barang_ukuran c, t_barang_merk d, t_barang e");
    $where = "a.jenis = b.id_jenis AND a.ukuran = c.id_ukuran AND a.merk = d.id_merk AND a.kd_barang = e.kd_barang";
    $this->db->where($where);
    if ($kd != null) {
        $this->db->like("a.kd_barang", $kd);
        $this->db->or_like("e.nama_barang", $kd);
    }

    return $this->db->get();
}

我一直在尝试使用

$this->db-where("(a.kd_barang LIKE $kd OR e.nama_barang LIKE $kd)");

$this->db->or_like(array('a.kd_barang' => $kd, 'e.nama_barang' => $kd));

但结果总是错误的。

【问题讨论】:

    标签: mysql codeigniter activerecord sql-like


    【解决方案1】:

    这个问题解决了。

    我正在使用此代码

    $this->db->where("(a.kd_barang LIKE '%$kd%' OR e.nama_barang LIKE '%$kd%')");
    

    【讨论】:

      【解决方案2】:

      你可以这样工作:

      if ($kd != null) {
              $this->db->or_where("(a.kd_barang LIKE '$kd' OR e.nama_barang LIKE '$kd')");
          }
      

      【讨论】:

      • 可以,但结果仍然错误。我一直在尝试在phpmyadmin中测试qury,结果是真的。
      • 可能是您的查询有误。
      猜你喜欢
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      • 2013-05-18
      • 1970-01-01
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多