Comparison between Array and Database, Inclusion and Exclusion Codeigniter

0

I solved this #

>

So I tried to use the same method for a team roster, but it did not work. I changed a few lines, but without success.

Let's see:

In objto_equipe there is an attribute called equipe_operador of type array ,

In the equipe_operador attribute% will be sent equipe_id e operador_id .

Thequestionnowlieswiththemethodthatwillmanagetheinclusionanddeletionofthedatabase.

Thegeneralruleforanoperator'sregistrationontheteamis:

  • Theoperador_idcanNOTbeassociatedwithmorethanone_idteam,soifinthearrayoperador_idisequalto1andinthedatabasethisoperador_idisthesame,buttheteamisdifferent,thenitturnsoffwhat'sinthedatabaseandincludeswhat'scominginthearray.
  • Wheneveritcomesinthearrayequipe_id=0,itmeansthattheoperatorisnotpartofanyteam

UntilthemomentIarrivedatthefollowingmethod.

Model

publicfunctionverificar_equipe($operador_id){$this->db->select('operador_id,equipe_id');$this->db->from($this->tb_operador_equipe);$this->db->where('operador_id',$operador_id);$query=$this->db->get();return$query;}


publicfunctionincluir_equipe($dados,$equipe_id){$array=(array)$dados;foreach($dadosas$equ){$id=$equ->operador_id.$equipe_id;//concatenaequipe_id+operador_id$equipe=['id'=>$id,'equipe_id'=>$equipe_id,'operador_id'=>$equ->operador_id,];$this->db->insert($this->tb_operador_equipe,$equipe);}}


publicfunctionremover_equipe($equipe_id,$operador_id){$this->db->where('operador_id',$operador_id);$this->db->where('equipe_id',$equipe_id);$this->db->delete($this->tb_operador_equipe);}

Controller

foreach($equipesas$_equipe=>$obj_equipe){$verifica_equipe=$this->equipe->verificar_equipe($obj_equipe->operador_id);//print_r($obj_equipe);if($verifica_equipe->num_rows()){//seencontrouregistros,ooperadorestáassociadoaumaequipe.vamosverificar:foreach($verifica_equipe->result()as$equipe){//estánatabelaenãoestánoarray,entãoremovedatabelaif(!in_array($equipe->operador_id,$equipes)){print_r($equipe->equipe_id);$this->equipe->remover_equipe($equipe->equipe_id,$equipe->operador_id);}else{//estãonatabelaenoarray,entãoremovedoarrayp/evitarINSERTsduplicados$chave=array_search($equipe,$equipes);unset($equipes[$chave]);}}$this->equipe->incluir_equipe($equipes,$equipe_id);}else{//nãopossuiequipe,fazsomenteosINSERTs...if($obj_equipe->equipe_id==0){print_r("Inclusão de IDs que não existe no banco");
                //$this->equipe->incluir_equipe($equipes, $equipe_id);
            }
        }
    }
    
asked by anonymous 07.02.2018 / 19:32

0 answers