Есть три вышеуказанные сущности, для каждой из которых создан класс администратора для Sonata. Мне необходимо создать форму для редактирования компаний. Сущность Параметр необходима для динамической настройки сайта. У параметра есть тип ( 4 штуки: текст, чекбокс, радио и селект).
Я встраиваю в Компанию Параметры, а в админском классе параметров использую кастомные типы для каждого параметра. Однако, как указано на схеме связей, я получаю список элементов ни коим образом не свзяанный с компанией, которую я редактирую. Выглядит это примерно так:
Внутри CompanyAdmin:
$formMapper
->with('General')
->add('name', 'text', array('label' => 'Name'))
->add('website', null, array('label' => 'Website'))
->add('about', null, array('label' => 'About', 'required' => false))
->end()
->add('params','sonata_type_collection');
Внутри ParameterAdmin
if($param->getType() == 0) {
$formMapper->add('elements', 'element_text', array('company_id' => true) );
} elseif($param->getType() == 1) {
$formMapper->add('elements','element_checkbox', $options );
}elseif($param->getType() == 2){
$formMapper->add('elements','element_radio', $options );
}elseif($param->getType() == 3) {
$formMapper->add('elements','element_select' ,$options);
}
Каким образом можно связать сущности Компании и Элементов на этой странице? Или каким образом при создани кастомного типа можно корректировать при помощи запроса набор элементов?