我很难在我的查询中添加括号.我的查询包括OR,AND和liKE.这是我的MySQL查询:
SELECT * FROM (`vendor`) JOIN `vendor_detail` ON `vendor`.`ID_vendor`= `vendor_detail`.`ID_vendor` JOIN `klasifikasi` ON `vendor_detail`.`ID_klasifikasi` = `klasifikasi`.`ID_klasifikasi`WHERE `vendor_detail`.`ID_klasifikasi` = 'K0002' AND`vendor`.`st_aktif` = 1 AND (`vendor`.`ID_vendor` liKE '%eka%' OR`vendor`.`nama_vendor` liKE '%eka%' OR `vendor`.`alamat` liKE '%eka%'OR `vendor`.`telp` liKE '%eka%' OR `vendor`.`mobile` liKE '%eka%' OR`vendor`.`fax` liKE '%eka%' OR `vendor`.`cp` liKE '%eka%' OR`vendor`.`telp_cp` liKE '%eka%' OR `vendor`.`catatan` liKE '%eka%' OR`vendor`.`email` liKE '%eka%')
如您所见,我在vendor.st_aktif = 1 AND之后添加括号,并在我的查询的最后一行.
如何实现上述查询到Code Igniter Active Records?
这是我目前的CI AR:
function src_vendor_by_name($src_nama,$src_kls){ $this->db->select('*'); $this->db->from('vendor'); $this->db->join('vendor_detail','vendor.ID_vendor = vendor_detail.ID_vendor'); $this->db->join('klasifikasi','vendor_detail.ID_klasifikasi = klasifikasi.ID_klasifikasi'); $this->db->where('vendor_detail.ID_dklasifikasi',$src_kls); $this->db->where('vendor.st_aktif',1); if($src_nama != "") { $this->db->or_like('vendor.ID_vendor',$src_nama); $this->db->or_like('vendor.nama_vendor',$src_nama); $this->db->or_like('vendor.alamat',$src_nama); $this->db->or_like('vendor.telp',$src_nama); $this->db->or_like('vendor.mobile',$src_nama); $this->db->or_like('vendor.fax',$src_nama); $this->db->or_like('vendor.cp',$src_nama); $this->db->or_like('vendor.telp_cp',$src_nama); $this->db->or_like('vendor.catatan',$src_nama); $this->db->or_like('vendor.email',$src_nama); } return $this->db->get()->result_array(); }
最佳答案我不认为纯CodeIgniter会允许您以您希望的方式执行嵌套的WHERE子句.但一种选择是使用自定义字符串:$where = "(`vendor`.`ID_vendor` liKE '%eka%' OR ";$where .= "`vendor`.`nama_vendor` liKE '%eka%' OR";$where .= "`vendor`.`alamat` liKE '%eka%' OR ";$where .= "`vendor`.`telp` liKE '%eka%' OR ";$where .= "`vendor`.`mobile` liKE '%eka%' OR ";$where .= "`vendor`.`fax` liKE '%eka%' OR ";$where .= "`vendor`.`cp` liKE '%eka%' OR ";$where .= "`vendor`.`telp_cp` liKE '%eka%' OR ";$where .= "`vendor`.`catatan` liKE '%eka%' OR ";$where .= "`vendor`.`email` liKE '%eka%')";$this->db->where($where);
有一种叫做IgnitedQuery的东西似乎支持嵌套的WHERE语句. 总结
以上是内存溢出为你收集整理的php – 在CodeIgniter上为OR_LIKE查询添加括号全部内容,希望文章能够帮你解决php – 在CodeIgniter上为OR_LIKE查询添加括号所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)