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:
- The
operador_id
canNOTbeassociatedwithmorethanone_idteam,soifinthearrayoperador_id
isequalto1andinthedatabasethisoperador_id
isthesame,buttheteamisdifferent,thenitturnsoffwhat'sinthedatabaseandincludeswhat'scominginthearray. - Wheneveritcomesinthearray
equipe_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);
}
}
}