hola, tengo la siguiente situación:
tengo una tabla Anexo1 con la sgte estructura:
Anexo1
id (pk)
.
.
registrado_por
cargo_fk (fk)
.
.
otra tabla Cargo con la sgte estructura:
Cargo
id (pk)
cargo_desc
tabla Implicados con la sgte estructura:
Implicados
id (pk)
.
.
cargo_fk (fk)
anexo1_fk (fk)
Como se puede ver a simple vista la relación de implicados con anexo1 es HAS_MANY y la de Cargo con Anexo1 y Implicados es de BELONGS_TO
Ahora mi problema está en que debo mostrar un reporte que según el Anexo1 que me seleccionen me salga su info así como los implicados que pertenecen a el, mostrar toda esa información ya está resuelta, aqui pongo fragmento de mi código
-$sql=‘SELECT * FROM implicado INNER JOIN anexo1 ON (implicado.anexo1_fk = anexo1.id) WHERE anexo1_fk=’.$dataProvider[$i][“id”].’ AND imp_pert_entidad=“Si”’; //con esta consulta obtengo los implicados del anexo que quedo como resultado de la búsqueda
-$lista1= Implicado::model()->with(‘anexo1Fk’)->findAllBySql($sql);// aquí los meto en un lista para ir recorriéndola y así mostrar los datos en una tabla html
-$j=0;
$val=count($lista1);
while($j<$val){
$html.=’
<tr>
<td height="48">&nbsp;'.$lista1[$j]["imp_nombre"].'</td>
<td>&nbsp;'.$lista1[$j]["cargoFk"]["cargo_desc"].'</td>
<td>&nbsp;'.$lista1[$j]["catOcupacionalFk"]["cat_ocup_desc"].'</td>
<td>&nbsp;'.$lista1[$j]["nivelDirFk"]["nivel_dir_desc"].'</td>
<td>&nbsp;'.$lista1[$j]["escolaridadFk"]["escolaridad_desc"].'</td>
<td>&nbsp;'.$lista1[$j]["integracionFk"]["integracion_siglas"].'</td>
<td>&nbsp;'.$lista1[$j]["imp_edad"].'</td>
<td>&nbsp;'.$lista1[$j]["sexoFk"]["sexo_siglas"].'</td>
<td>&nbsp;'.$lista1[$j]["medidaAplFk"]["medida_apl_desc"].'</td>';
$html.=’</tr>’;
$j++;
} // aquí voy llenando la tabla
mi problema es el siguiente: en lugar de $lista1[$j]["cargoFk"]["cargo_desc] mostrarme el cargo de el implicado en esa posición me esta mostrando el cargo que esta en registrado_por que esta dentro del Anexo1. He estado traceando, bastante y todo funciona bien pero no se pq no me coge el campo que debería, pq en los demás cambia exitosamente, es solo con el cargo.
Alguna sugerencia ?? gracias