Codeigniter与$ this-> db查询混淆

时间:2016-08-02 03:50:19

标签: codeigniter

我正在尝试通过在我的模型中使用另一个模型的方法来访问数据,但它给了我错误,因为它混淆了以前的$ this-> db参数:

        $this->db->select('*');

        $this->db->group_start();
        $this->db->like('title',$keyword);
        $this->db->or_like('keyword',$keyword);
        $this->db->group_end();

        $locations = $this->place_model->search_ids_by_name($location);

和Place_model的search_ids_by_name()是这样的:

  public function search_ids_by_name($q) {
          $this->db->select('id');
          $this->db->like('name',$q);
          $qry = $this->db->get('places');
          $results =  $qry->result_array();
          $place_ids = array();
          foreach ($results as $result) {
            array_push($place_ids, $result['id']);
          }
          return $place_ids;
  }

但它给了我以下错误

  

错误号码:1054,'where子句'中的未知列'类别'   文件名:models / Place_model.php

在我的place_model函数中似乎也使用了like和or_like方法。我该如何分开它们。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我做了另一个联系:

public function search_ids_by_name($q) {
        $places_db = $this->load->database('default', TRUE);
        $places_db->select('id');
        $places_db->like('name',$q);
        $qry = $places_db->get('places');
        $results =  $qry->result_array();
        $place_ids = array();
        foreach ($results as $result) {
          array_push($place_ids, $result['id']);
        }
        return $place_ids;
}