0

我有一个带有连接表的搜索功能。

我有一个表工厂。在这张表中,我搜索工厂。我还有一个名为标签的表。在这张表中,我有特定工厂的标签。带有工厂 ID。

但是当我搜索一家工厂时,它不止一次向我展示了工厂。当我删除标签时,它不会显示不止一次。

我如何强制/限制只显示同一工厂的 1 个?

当您单击http://kees.een-site-bouwen.nl/home/search上的搜索时,您会明白我的意思

我的搜索方法/模型:

function get_search($match)
{
    $this->db->like('Bedrijfsnaam', $match);
    $this->db->or_like('Postcode', $match);
    $this->db->or_like('Plaats', $match);
    $this->db->or_like('Telefoonnummer', $match);
    $this->db->or_like('Email', $match);
    $this->db->or_like('Website', $match);
    $this->db->or_like('Profiel', $match);
    $this->db->or_like('Adres', $match);
    $this->db->or_like('tags.Tag', $match);
    $this->db->join('tags', 'bedrijven.idbedrijven = tags.idbedrijven');
    $query = $this->db->get('bedrijven');

    return $query->result();
}

我的搜索方法/控制器:

    function searchresults()
    {
        $match = $this->input->post('search');
        $data['query'] = $this->bedrijven_model->get_search($match);
        $this->load->view('views/header');
        $this->load->view('views/searchresults', $data);
        $this->load->view('views/footer');
        $data['query'] = $this->bedrijven_model->bedrijven_tags();
    }
4

1 回答 1

0

尝试按赞分组

$this->db->join('tags', 'bedrijven.idbedrijven = tags.idbedrijven');
$this->db->group_by('bedrijven.idbedrijven');
$query = $this->db->get('bedrijven');

那么您可以获得唯一值

于 2013-04-02T12:45:39.833 回答