Php 使用Codeigniter搜索具有限制的多个mysql表

Php 使用Codeigniter搜索具有限制的多个mysql表,php,mysql,codeigniter,Php,Mysql,Codeigniter,我使用的是codeigniter,我有一个搜索mysql表中多个列的函数,但它不起作用。我需要限制搜索,因为我需要搜索结果的分页 例如,我的mysql数据库中的3个表是phones,articles,solutions,搜索字符串是sony。我有手机。name和文章。title和解决方案。title和name索尼 我现有的职能是 public function get_search_res($search_str = null,$limit_start = null, $limit_end =

我使用的是codeigniter,我有一个搜索mysql表中多个列的函数,但它不起作用。我需要限制搜索,因为我需要搜索结果的分页

例如,我的mysql数据库中的3个表是
phones
articles
solutions
,搜索字符串是
sony
。我有
手机。name
文章。title
解决方案。title
和name
索尼

我现有的职能是

public function get_search_res($search_str = null,$limit_start = null, $limit_end = null)
{


    $this->db->select('phones.name , phones.id');
    $this->db->select('solutions.title as s_title');
    $this->db->select('articles.title as a_title');
    $this->db->from('phones , soltions , articles');
    $this->db->like('phones.name', $search_str);
    $this->db->or_like('articles.title',$search_str);
    $this->db->or_like('solutions.title',$search_str);
    $this->db->limit($limit_start, $limit_end);
    $q = $this->db->get();

    $res = $q->result_array();

    return $res;
}
此函数仅获取内容表单
解决方案
表,但无法从另外两个有限制的表中获取所有内容


还有其他方法吗?

您尝试的方法是不可能的。
具有多个表的查询不用于执行此操作

您希望搜索3个表,因此必须分别查询每个表

根据查询结果集时的限制,从每个表中获取计数结果