重複していない行を表示しようとしていますが、クエリが正しく機能していません。私は、問題は1対多の関係だと思う。なぜなら、1つの 'intervaloHorario'には多くの 'citas'があるからだ。したがって、例えば、私は '8時から15時まで(これはインターラクティブ・ホラリオです)'〜(cita) '27/08/1988'のみを表示したいと思います。私は何をすべきか?Codeigniter 1対多の関係を示す重複を回避する方法
コントローラ
$this->Fechacita_Model->delete_duplicaterow();
モデル
public function delete_duplicaterow() {
$this->db->select('
c.intervaloHorario','ci.cita'
);
$this->db->from('intervaloshorarios c');
$this->db->join('citas ci', 'ci.idCitas = c.idIntervaloHorario','left');
$this->db->group_by('c.idIntervaloHorario','ci.cita');
$query = $this->db->get();
return $query->num_rows();
}
モデル(EDIT)
$this->db->select(array('c.intervaloHorario', 'ci.cita'));
$this->db->distinct();
$this->db->from('intervaloshorarios c');
$this->db->join('citas ci', 'ci.idCitas = c.idIntervaloHorario', 'left');
$this->db->group_by('c.idIntervaloHorario', 'ci.cita');
$query = $this->db->get();
$this->db->last_query();
return $query->num_rows();
データベース
現在のデータベース
スクリーンショット
現在のリスト(順不同リストが、重複が解消されない)
'$ this-> db-> distinct($ columnName);' $ columnName'は、区別したい列のものです。 –
これで、クエリは同じ重複行を表示し続けます – Jose