Codeigniter在多个JOIN上显示重复行

时间:2015-10-26 20:37:21

标签: php mysql codeigniter

我在Codeigniter中有以下查询:

var singleButton = ""<div class="buttons01"><button type="button">"" +     items[i].title + ""</button></div>"";

它提供的输出是每个g.name_nl和g.name_en都是生产ID的一部分,因此将具有正确ID的那些放在PHP foreach中。

然而,在同一个foreach中,我想显示属于同一个库的URL的数量,它与

连接
    $this->db->select('p.productionId, p.name, p.year, p.poster, p.description_nl, p.story_nl, p.castCrew_nl, p.description_en, p.story_en, p.castCrew_en, GROUP_CONCAT(g.galleryId,".",g.name_nl) AS name_nl, GROUP_CONCAT(g.galleryId,".",g.name_en) AS name_en, COUNT("gi.url") AS url')->from('productions p');
    $this->db->join('galleries g', 'g.productionId = p.productionId', 'left');
    $this->db->join('galleryImages gi', 'gi.galleryId = g.galleryId', 'left');
    $this->db->group_by('p.productionId');
    $this->db->order_by('p.name', 'ASC');
    $this->db->order_by('p.name, gi.galleryId', 'ASC');

    $query = $this->db->get();
    return $query->result();
代码中的

行。

导致的错误是,它列出了所有name_nl和name_en&#39; s,而不是它的分组,而不是有多行。

我该如何纠正?

- 更新 - 的foreach

$this->db->join('galleryImages gi', 'gi.galleryId = g.galleryId', 'left');

导致: 一个 一个 一个 乙 甲

而不是 一个 乙 5

0 个答案:

没有答案