양식 API를 사용하여 외래 키에서 값이 오는 선택 입력을 프로그래밍 방식으로 어떻게 생성 할 수 있습니까?

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

문제

표 B를 참조하는 외국 키가있는 테이블 A가 있습니다. 테이블 A와 관련된 내 양식은 표 B에서 값이 값을 낸 선택 필드를 갖기를 원합니다. 표 B.

표 A와 표 B는 모두 다른 유형의 엔티티를 포함합니다.

나는 현재 엔티티 참조를 사용하는 프로그램 솔루션을 찾고 있지만 새 필드를 추가 할 필요없이 Administration > Structure > <entity type>.

도움이 되었습니까?

해결책

나는 사용하는이 솔루션을 사용했습니다 entity_load 그런 다음로드 된 엔티티를 현재 선택 필드에 옵션으로 추가하십시오.

$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