Me otorgaron un DER donde muchas tablas tienen como PK, 2 o mas FK.
Por ejemplo, la tabla tramitexcola tiene como pk id_cola , id_tramite, de las respectivas tablas cola y tramite.
El problema aparece cuando quiero listar los registros de colaxtramite para por ejemplo eliminarlos.
Entonces recurro a llenar el valor de los input con los dos datos, separados con un '#'
Código PHP:
Ver original<?php foreach ($tramitesxcola as $tramitexcola) { ?>
<tr>
<td><input class="sch" type="checkbox" name="borrar[]" value="<?php echo $tramitexcola->getId_cola().'#'.$tramitexcola->getId_tramite();?>"/></td>
<td><?php echo $tramitexcola->getId_cola(); ?></td>
<td><?php echo $tramitexcola->getId_tramite(); ?></td>
</tr>
<?php } ?>
Código PHP:
Ver originalif (isset($_POST['eliminar']) && !empty($_POST['borrar'])) {
$unidades = $_POST['borrar'];
$tramites_a_eliminar = array(); $contador = 0;
foreach ($unidades as $unidad) {
$unidades_explode = explode("#", $unidad); $tramites_a_eliminar[$contador]['id_cola'] = $unidades_explode[0];
$tramites_a_eliminar[$contador]['id_tramite'] = $unidades_explode[1];
$contador++;
}
$unidades_eliminadas = $svcTramitexCola->eliminarVariosTramitesxCola($tramites_a_eliminar);
}
No me parece algo muy prolijo, sobretodo cuando aveces tengo PKs de 4 o 5 campos.
Podria pasar el objeto completo en vez de los IDs, seria lo ideal, pero no me ocurre una buena manera de hacerlo.
¿Se les ocurre alguna manera mejor? despues pense en agregar un id propio a esas tablas, pero a los que me dieron el DER no les convencio mucho la idea.