Version 1, last updated by phillipo at September 17, 2007 20:51 UTC
33-6-12-Set combo dynamic
33.6.12 set_combo_dynamic($campo, $tabla, $campoDetalle, “column_relation: $campo”)
Crea un combo con los datos de la tabla ($tabla), asociando la clave foranea ($campo), y llenando el combo con los valores ($campoDetalle). Si el campo en la tabla detalle no tiene el mismo nombre del de la tabla relación entonces se debe usar column_relation para indicar el nombre de este.
Con esta función podremos crear dinamicamente (sin seguir la convención campo_id del StandardForm) lo mismo que use_helper($campo).
Ejemplo: Debes tener 2 tablas:
1) Una tabla maestra con alguna relacion por ejemplo clientes:
Ejemplo
- create table clientes (
- id integer not null primary key,
- nombre varchar(50) not null,
- idciudad integer not null,
- primary key(id)
- );
Ejemplo
- create table ciudad (
- id integer not null primary key,
- nombre_ciudad varchar(50) not null,
- primary key(id)
- );
Ahora en el controlador:
Ejemplo
- ?php
- class ClientesController extends StandardForm{
- public $scaffold = true;
- public function __construct(){
- //Como vemos no tenemos que seguir la convención , la podemos crear
- //dynamicamente en nuestro codigo
- $this->set_combo_dynamic("idciudad","ciudad","nombre_ciudad");
- }
- ?>