php-Codeigniter如何避免重复显示一对多关系
作者:互联网
我一直试图显示没有重复的行,但是查询无法正常工作.我认为问题是一对多的关系,因为一个“ intervaloHorario”具有许多“ citas”.因此,例如,我只想显示:“从8:00到15:00(这是一个时间间隔)”(日期)(日期)为“ 27/08/1988”.我该怎么办?
控制者
$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();
}
型号(编辑)
$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()并添加选择主键以删除重复项:
public function delete_duplicaterow() {
$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();
return $query->num_rows();
}
标签:codeigniter,grocery-crud,mysql,php 来源: https://codeday.me/bug/20191111/2019072.html