Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php JOIN-Codeigniter中重复的SQL结果_Php_Mysql_Sql_Codeigniter - Fatal编程技术网

Php JOIN-Codeigniter中重复的SQL结果

Php JOIN-Codeigniter中重复的SQL结果,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,我想把“临床医生”的名单和你的“telefones_clinicas”和“planos_clinicas”一起还给你。我可以有多个“telefones_clinicas”和“planos_clinicas”,但这不是必需的 但如果我有多个“telefones_clincias”或“planos_clinicas”,我的sql结果将返回重复的结果。我怎样才能解决这个问题 这是我的桌子: 表格:临床医生 -Clomuns:id、autenticacao\u电子邮件、autenticacao\u id

我想把“临床医生”的名单和你的“telefones_clinicas”和“planos_clinicas”一起还给你。我可以有多个“telefones_clinicas”和“planos_clinicas”,但这不是必需的

但如果我有多个“telefones_clincias”或“planos_clinicas”,我的sql结果将返回重复的结果。我怎样才能解决这个问题

这是我的桌子:

表格:临床医生 -Clomuns:id、autenticacao\u电子邮件、autenticacao\u id、cli\u pag\u id、descripcao、foto、nome、qrcode、site、ativo、created、modified

表格:telefones\u clinicas -Clomuns:id、tdc dli id、telefone、创建、修改

表格:planos -Clomuns:id,平面图

表格:临床平面图 -Clomuns:clinicas\u id,planos\u id

这个数据库中有更多的表,但我认为它们不是问题所在

在此链接中,您可以看到重复的返回:

我只有两个临床医生。 id 27的“临床医生”有两个“电话亭”和四个“平面”。 id为28的“临床医生”有一个“电话亭”和两个“平面”

我想他们会把planos的每个结果重复两次

public function teste(){


    $this->db->trans_start();

    $this->db->select('clinicas.id AS id_clinica, nome, site, especialidade, descricao, foto, ativo, clinicas.created AS criacao_clinica, qrcode, cep, logradouro, complemento, numero, bairro, cidade, uf, telefone, planos.plano AS plano');
    $this->db->from('clinicas');
    $this->db->join('endereco_clinica', 'clinicas.id = endereco_clinica.ecs_cli_id');
    $this->db->join('Especialidades_clinicas', 'clinicas.id = Especialidades_clinicas.edc_cli_id');
    $this->db->join('especialidades', 'Especialidades_clinicas.edc_esp_id = especialidades.id');
    $this->db->join('planos_clinicas', 'clinicas.id = planos_clinicas.clinicas_id');
    $this->db->join('telefones_clinicas', 'clinicas.id = telefones_clinicas.tdc_cli_id');
    $this->db->join('planos', 'planos.id = planos_clinicas.planos_id');
    $this->db->order_by('id_clinica', 'ASC');
    $clinicas = $this->db->get();


            $xyz = 0;

            foreach($clinicas->result() as $row){
                $id_clinica = $row->id_clinica;
                $nome = $row->nome;
                $site = $row->site;
                $especialidade =$row->especialidade;
                $descricao = $row->descricao;
                $foto = $row->foto;
                $ativo = $row->ativo;
                $criacao_clinica = $row->criacao_clinica;
                $qrcode = $row->qrcode;
                $cep = $row->cep;
                $logradouro = $row->logradouro;
                $complemento = $row->complemento;
                $numero = $row->numero;
                $bairro = $row->bairro;
                $cidade = $row->cidade;
                $uf = $row->uf;
                $telefone = $row->telefone;
                $plano = $row->plano;
                $xyz++;
                echo 'tô na rodada '.$xyz;
                for($i = 0; $i <= count($plano); $i++) {
                    echo '<pre>',print_r($plano,1),'</pre>';
                    echo '----------------------------------------<br>';
                    echo '<pre>',print_r($row,1),'</pre>';
                    echo '----------------------------------------<br>';
                }
            }


    $this->db->trans_complete();

}
public function teste(){
$this->db->trans_start();
$this->db->select('clinicas.id AS id_clinica,nome,site,specialidade,descripao,foto,ativo,clinicas.created AS criacao_clinica,qrcode,cep,logradouro,complemento,numero,bairro,cidade,uf,telefone,planos.plano AS plano');
$this->db->from('clinicas');
$this->db->join('endereco_clinica','clinicas.id=endereco_clinica.ecs_cli_id');
$this->db->join('specialidades_clinicas','clinicas.id=specialidades_clinicas.edc_cli_id');
$this->db->join('specialidades','specialidades_clinicas.edc_esp_id=specialidades.id');
$this->db->join('planos_clinicas','clinicas.id=planos_clinicas.clinicas_id');
$this->db->join('telefones_clinicas','clinicas.id=telefones_clinicas.tdc_cli_id');
$this->db->join('planos','planos.id=planos_clinicas.planos_id');
$this->db->order_by('id_clinica','ASC');
$clinicas=$this->db->get();
$xyz=0;
foreach($clinicas->result()作为$row){
$id\u clinica=$row->id\u clinica;
$nome=$row->nome;
$site=$row->site;
$specialidade=$row->specialidade;
$descripcao=$row->descripcao;
$foto=$row->foto;
$ativo=$row->ativo;
$criacao_临床医生=$row->criacao_临床医生;
$qrcode=$row->qrcode;
$cep=$row->cep;
$logradouro=$row->logradouro;
$complemento=$row->complemento;
$numero=$row->numero;
$bairro=$row->bairro;
$cidade=$row->cidade;
$uf=$row->uf;
$telefone=$row->telefone;
$plano=$row->plano;
$xyz++;
echo'tôna rodada'$xyz;
 $this->db->group_by('clinicas.id'); 
对于($i=0;$i db->trans_complete(); }
您可以尝试使用分组方式


您可以尝试使用分组方式


Tryed和返回仅重复“plano”“Amil”([plano]=>Amil),并且返回仅重复“plano”“Amil”([plano]=>Amil)