我有以下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));
但结果总是错误的。
答案 0 :(得分:1)
这个问题解决了。
我正在使用此代码
$this->db->where("(a.kd_barang LIKE '%$kd%' OR e.nama_barang LIKE '%$kd%')");
答案 1 :(得分:0)
你可以这样工作:
if ($kd != null) {
$this->db->or_where("(a.kd_barang LIKE '$kd' OR e.nama_barang LIKE '$kd')");
}