Как я могу программно создать ввод выбора, значения которого поступают из иностранного ключа с помощью API Form?

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

Вопрос

У меня есть таблица A, у которого есть внешний ключ, относящаяся к таблице B. Я хочу, чтобы моя форма, связанная с таблицей A, имела поле выбора Таблица B.

Как таблица A, так и таблица B содержат объекты разных типов.

В настоящее время я ищу программные решения, которые используют ссылку на объект, но без необходимости добавлять новое поле из Administration > Structure > <entity type>.

Это было полезно?

Решение

Я пошел с этим решением, которое использует entity_load Затем добавление загруженных объектов в качестве параметров в поле Select пока:

$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
);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top