我已经使用我的分页模型创建了一个搜索过滤器,当我输入我的过滤器时,如果我只有一个字母由于某种原因我的模型要求我 min 2 字母开始过滤
模型中最好的方法是什么,所以我的搜索字段只能在过滤器输入中输入一个字母。
public function getUserGroups($limit = null, $offset = NULL) {
$this->db->select("user_group_id, name");
$this->db->from($this->db->dbprefix . 'user_group');
$this->db->limit($limit, $offset);
$this->db->order_by('name', 'asc');
$data = array(
'name' => $this->input->post('name'),
'user_group_id' => $this->input->post('user_group_id')
);
$this->db->like($data);
$this->db->or_like('name', 'match');
$this->db->or_like('user_group_id', 'match');
$query = $this->db->get();
return $query->result_array();
}
答案 0 :(得分:1)
我认为以下查询将解决您的问题
public function getUserGroups($limit = null, $offset = NULL) //better use $limit=0,$offset=0
{
$this->db->select("user_group_id, name");
$this->db->from($this->db->dbprefix . 'user_group');
$this->db->limit($limit, $offset);
$this->db->order_by('name', 'asc');
$data = array(
'name' => $this->input->post('name'),
'user_group_id' => $this->input->post('user_group_id')
);
$this->db->or_like($data);
$query = $this->db->get();
return $query->result_array();
}
<强>记住强>
他们使用like
和or_like
的方式可能会产生错误的查询。请确保您的查询按照您的意愿正确生成