Wie kann ich programmgesteuert eine ausgewählte Eingabe erstellen, deren Werte aus einer Fremdschlüssel mithilfe der Form -API stammen?

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

Frage

Ich habe Tabelle A, die einen Fremdschlüssel hat, der sich auf Tabelle B. bezieht Tabelle B.

Sowohl Tabelle A als auch Tabelle B enthalten Entitäten verschiedener Typen.

Ich suche derzeit nach programmatischen Lösungen, die eine Entitätsreferenz verwenden, ohne jedoch ein neues Feld aus durchzuführen müssen Administration > Structure > <entity type>.

War es hilfreich?

Lösung

Ich habe mich mit dieser Lösung entschieden, die verwendet entity_load Fügen Sie dann die geladenen Entitäten als Optionen zum ersten Mal zum Auswahlfeld hinzu:

$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
);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top