3

モデルでget_whereを使用すると、重複を含むすべてのデータベースエントリが表示され、get onlyを使用すると、最初のエントリのみが表示されます。しかし、私はすべての個別のエントリが必要です。誰か助けてくれませんか。どうもありがとう!

Controler = site.php:

public function western_australia(){
    $this->load->model("continents_get");
    $data["results"] = $this->continents_get
                            ->getMaincategories("western_australia");
    $this->load->view("content_western_australia", $data);
}

モデル=continents_get.php

function getMaincategories($western_australia){
    $this->db->distinct();
    $query = $this->db->get_where("p_maincategories", 
                    array("page" => $western_australia));
    return $query->result();
}

ビュー=content_western_australia.php

<?php
    foreach($results as $row){
        $page = $row->page;
        $main_en = $row->main_en;
        echo $main_en; 
?>
4

2 に答える 2

8

Distinctが常に機能するとは限りません。追加する必要があります->group_by("name_of_the_column_which_needs_to_be unique");

于 2012-08-26T14:45:33.930 に答える
0

CIドキュメントから:

 $this->db->distinct();

Adds the "DISTINCT" keyword to a query

$this->db->distinct();
$this->db->get('table');

// Produces: SELECT DISTINCT * FROM table

おそらく、1行しか表示されない理由です。

物事をよりシンプルに保つために、ActiveRecordではクエリを作成できます。

$query = $this->db->query('SELECT DISTINCT main_en FROM p_maincategories 
WHERE PAGE =  '.$this->db->escape($western_australia).');
于 2012-08-26T14:33:52.717 に答える