¿Cómo puedo crear programáticamente una entrada seleccionada cuyos valores provienen de una clave extranjera usando la API de formulario?

StackOverflow https://stackoverflow.com/questions/19825511

Pregunta

Tengo la Tabla A que tiene una clave extranjera que se refiere a la Tabla B. Quiero que mi forma asociado con la Tabla A tenga un campo seleccionado cuyos valores vendrán de la Tabla B. Quiero que el campo seleccionado tenga opciones con pares de valor clave proveniente de Tabla B.

Tanto la Tabla A como la Tabla B contienen entidades de diferentes tipos.

Actualmente estoy buscando soluciones programáticas que usen la referencia de entidad, pero sin tener que pasar un nuevo campo desde Administration > Structure > <entity type>.

¿Fue útil?

Solución

Fui con esta solución que usa entity_load Luego agregue las entidades cargadas como opciones al campo Seleccionar por ahora:

$foreign_entity_items = entity_load('foreign_entity');
$foreign_entity_options = array();
foreach ($foreign_entity_items as $foreign_entity_item) {
    $foreign_entity_options[$foreign_entity_item->some_field] = $foreign_entity_item->some_other_field;
}

$form['some_form_element'] = array(
    '#title' => t('Some title'),
    '#type' => 'select',
    '#required' => TRUE,
    '#options' => $foreign_entity_options
);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top