使用codeigniter搜索多个mysql表

时间:2014-01-07 05:19:49

标签: php mysql codeigniter

我知道这已经被覆盖但是我正在努力让这个工作。我的数据库结构如下:

照片

id
title
description
file_name

Photo_Category

id
photo_id
category_id

分类

id
name

代码

id
tag_name

Photo_Tags

id
photo_id
tag_id

我正在尝试做的是允许某人输入短语或关键字,然后在数据库中搜索可能与标签,类别,当然还有照片标题和说明匹配的结果,并返回照片数据结果。

如果它有助于我在codeigniter中发展。

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:2)

As my understand with your question

The function in model

function example($phrase)  //select position
    {
        $this->db->select('*');
        $this->db->from('photo');
        $this->db->join('phototags', 'phototags.photo_id = photo.id', 'left');
                $this->db->join('tags', 'tags.id = phototags.tag_id', 'left');
                $this->db->join('Photo_Category', 'Photo_Category.photo_id = photo.id', 'left');
                $this->db->join('Categories', 'Categories.id = Photo_Category.category_id', 'left');
        $this->db->like('tag_name' , $phrase, 'after');
                $this->db->like('Categories.name' , $phrase, 'after');
                $this->db->like('photo.title' , $phrase, 'after');
                $this->db->like('photo.description' , $phrase, 'after');
        $query = $this->db->get();
        return $query->result_array();
    }