【问题标题】:How to use LIKE in get_where如何在 get_where 中使用 LIKE
【发布时间】:2020-06-22 15:05:59
【问题描述】:

我的代码:

public function amil_export($program){
$query = $this->get_where('tbl_amil', [ 'jenis_lembaga' => '%Perorang%',
                                    'program' => $program
                                ]);
  $query = $this->execute();
  return $query;
}

我想像这样在 SQL 中进行查询

SELECT * FROM `tbl_amil` WHERE `jenis_lembaga` LIKE '%Perorang%' OR `program` = $program

谁能修复我的代码

【问题讨论】:

    标签: php sql codeigniter


    【解决方案1】:

    我有一个解决方案。我用过$this->db->group_start();$this->db->group_end();

    public function amil_export($keyword, $program) {
    
        $this->db->select('*');
        $this->db->group_start();
        $this->db->like('jenis_lembaga',$keyword);
        $this->db->or_like('program',$program);
        $this->db->group_end();
        $query = $this->db->get('tbl_amil');
        // echo $this->db->last_query();
        return $query->result_array();
    
    }
    

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      get_where 将无法为您提供包含OR 条件的结果。 (REFERENCE)

      你可以使用likeor_where来获取你想要的查询,就像这样-

      $query = $this->db->like('jenis_lembaga', 'Perorang')->or_where('program', $program)->get('tbl_amil')->result();
      
      // Produces:
      // SELECT * FROM `tbl_amil` WHERE `jenis_lembaga` LIKE '%Perorang%' ESCAPE '!' OR `program` = $program
      

      您也可以按照@Ankit Jindal 的建议使用query grouping (REFERENCE)。

      希望对你有所帮助。

      【讨论】:

        【解决方案3】:
        public function amil_export($program)
        {
            $this->db->like('jenis_lembaga ','Perorang','both');       
            $this->db->or_where('program',$program);
            $query=$this->db->get('tbl_amil'); 
            return $query->result();
        }
        

        【讨论】:

        • 不鼓励在 SO 上使用纯代码的答案。大多数答案将受益于解释,以帮助访问者深入了解您的解决方案的重要元素。解释增加了长期价值,允许未来的访问者学习并将您的知识应用到他们自己的代码中,保持 SO 的高质量,并鼓励使用 SO 平台作为知识库,而不是“给我代码”或免费编码服务。解释通常比严格解释代码更快地消化/理解,并有助于将您的解决方案与其他解决方案区分开来。精心设计的答案更容易获得支持
        猜你喜欢
        • 2019-09-02
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 2012-09-11
        • 2012-04-18
        • 2017-05-17
        • 2020-07-27
        • 1970-01-01
        相关资源
        最近更新 更多