codeigniter - 如何在 Codeigniter 3 中一起使用 like、or_like 和 get_where

标签 codeigniter

我正在尝试使用关键字进行搜索,但仅在 business_type 为制造商的行中进行搜索,但它不起作用并且它正在获取所有行。这是我模型中的方法:

public function search($keyword) {
    $this->db->like('category',$keyword);
    $this->db->or_like('keyword',$keyword);
    $this->db->or_like('products_deals_with',$keyword);
    $this->db->or_like('buisness_name',$keyword);
    $params['conditions'] = array(
        'business_type' => 'manufacturer'
    );
    $query = $this->db->get_where('business_listings', $params['conditions']);
    return $query->result_array();
}

生成的查询是:

SELECT * FROM `business_listings`
WHERE `category` LIKE '%%' ESCAPE '!'
OR `keyword` LIKE '%%' ESCAPE '!'
OR `products_deals_with`LIKE '%%' ESCAPE '!'
OR `buisness_name` LIKE '%%' ESCAPE '!'
AND `business_type` = 'manufacturer'

最佳答案

我找到了解决方案。我必须使用 $this->db->group_start();和 $this->db->group_end();

public function search($keyword) {

    $this->db->select('*');
    $this->db->where("business_type = 'manufacturer'");
    $this->db->group_start();
    $this->db->like('category',$keyword);
    $this->db->or_like('keyword',$keyword);
    $this->db->or_like('products_deals_with',$keyword);
    $this->db->or_like('buisness_name',$keyword);
    $this->db->group_end();
    $query = $this->db->get('business_listings');
    // echo $this->db->last_query();
    return $query->result_array();

}

生成的查询:

SELECT * FROM `business_listings`
WHERE `business_type` = 'manufacturer'
AND (
`category` LIKE '%%' ESCAPE '!'
OR `keyword` LIKE '%%' ESCAPE '!'
OR `products_deals_with` LIKE '%%' ESCAPE '!'
OR `buisness_name` LIKE '%%' ESCAPE '!' )

关于codeigniter - 如何在 Codeigniter 3 中一起使用 like、or_like 和 get_where,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38576619/

相关文章:

javascript - 更改 Bootstrap 下拉列表时将发布数据发送到 Controller

mysql - 如何在 codeigniter 中编写左连接查询?

php - 在 CodeIgniter 中插入重复数据

php - Bcrypt 在 codeigniter 中检查密码

codeigniter - 从另一个 View 中加载带有表单的 codeigniter View

javascript - 在 JavaScript 中调用 Controller 方法来加载 View - CodeIgniter

php - 检查提交时表单值是否已更改

php - Codeigniter 使用 WordPress 数据库(博客除外)

php - mysql - php - 只需要从自引用数据中获取最新记录

php - Codeigniter 数据到阿拉伯语的 csv 字符编码问题