【问题标题】:where with multiple like not working in codignitor在哪里有多个喜欢在 codeigniter 中不工作
【发布时间】:2021-11-30 22:07:34
【问题描述】:

我正在尝试获取 hospital_id = 802 和多个 or_likes 的行,但我的查询正在跳过 where hospital_id = 802 但过滤器或查询中出现问题,提前致谢

这是我的查询

SELECT * FROM (`patient`) WHERE `hospital_id` = '802' AND `name` LIKE '%fn%' OR `phone` LIKE '%fn%' OR `nic` LIKE '%fn%' OR `passport` LIKE '%fn%' OR `ticket` LIKE '%fn%' ORDER BY `id` DESC

用 CI 编写

$value = 'fn';
$this->db->or_like('name',$value);
    $this->db->or_like('phone',$value);
    $this->db->or_like('nic',$value);
    $this->db->or_like('passport',$value);
    $this->db->or_like('ticket',$value);
    $rows=$this->db->where('hospital_id',802)->order_by("id", "DESC")->get('patient')->result();

有人可以帮助我使用 Codeigniter 风格吗?

【问题讨论】:

  • 试试这个:SELECT * FROM (patient) WHERE ((hospital_id = '802') AND (name LIKE '%fn%' OR phone LIKE '%fn% ' OR nic LIKE '%fn%' OR passport LIKE '%fn%' OR ticket LIKE '%fn%')) ORDER BY id DESC
  • 它正在工作,但我不需要原始查询我需要对 codeigniter $this->db-> ..... 风格的活动记录查询

标签: php mysql codeigniter


【解决方案1】:

你必须使用组开始和组结束

$this->db->group_start();
    $this->db->or_like('name',$value);
    $this->db->or_like('phone',$value);
    $this->db->or_like('nic',$value);
    $this->db->or_like('passport',$value);
    $this->db->or_like('ticket',$value);
    $this->db->group_end();
    $rows=$this->db->where('hospital_id',802)->order_by("id", "DESC")->get('patient')->result();

【讨论】:

  • 它什么也没返回
猜你喜欢
  • 2021-01-27
  • 1970-01-01
  • 1970-01-01
  • 2014-07-11
  • 2021-07-18
  • 2020-11-30
  • 2021-09-03
  • 1970-01-01
相关资源
最近更新 更多