Имам 2 обекта: Държава (id, име) и Mapping (id, обект, internalId, externalId). Държавата и картографирането не са свързани с асоциации (защото картографирането има редове не само за държава). Трябва да получа външен идентификатор за държава, като използвам следните условия:
country.id = mapping.internalId
mapping.object = 'country'
Така че планирам да добавя функция getExternalId() в Country
function getExternalId() {
$em = Registry::getEntityManager();
$mapping = $em->getRepository('Mapping')->findOneBy(array(
'object' => 'country',
'internalId' => $this->getId()
));
return !empty($mapping) ? $mapping->getExternalId() : false;
}
Въпроси:
- Добра практика ли е да използвате EntityManager вътре в обекти? Ако не, моля, обяснете как да получа външен идентификатор в моя случай?
- Може би е възможно да свържете Държава и Картографиране с помощта на yaml файлове?
Благодаря предварително!