2015-08-04 13 views
2

У меня есть одна основная база данных, в которой размещаются все данные мастера и транзакции моих пользователей.Symfony2: как работать с данными из другого db?

Сейчас я хотел бы иметь 3 веб-приложения (symfony2), подключенные к этой базе данных, A B и C. Все они имеют локальную базу данных.

A для моих пользователей, B и C будут административными приложениями. (В основном это для разных отделов моей компании, которые делают совершенно разные вещи с информацией из основной базы данных). Основная база данных питается от A, но должна также быть модифицирована B и C.

Давайте скажем в B Мне нужно назначить действие пользователю, создавшему учетную запись в A, и сохранить эту информацию в локальной базе данных B.

Я размышлял об этом в течение месяца: как я работаю с пользователем Сущности в B (исходя из А), так что я все еще быть в состоянии сделать что-то вроде:

$activity = new Activity(); 
$activity->setUser($user); 

Или что-то вроде:

$activity->getUser(); 

Как можно поддерживать объектные отношения, если информация должна поступать из двух разных баз данных?

Я очень новичок в этом способе работы. Нужно ли мне работать с AbstractClasses или API или что-то еще?

Если у кого-то есть хотя бы несколько советов относительно того, как я должен принимать во внимание, я был бы очень благодарен.

EDIT: Означает ли это, что мне нужно иметь два класса сущности для, например, пользовательской сущности? Один в A и один в B (и, возможно, один в C).

Проблема в том, что в A пользовательский объект имеет отношения с другими объектами, чем в B. Помните, что A и B - это разные программные средства.

Я думал, может быть, у меня должен быть многоразовый пакет, который используется как в A, так и в B? Но опять же проблема заключается в том, что некоторые объекты имеют отношения в A, которых нет в B.

Другими словами, как бы я сопоставлял одни и те же данные из базы данных по-разному с объектами в нескольких программах.

+0

возможно дубликат [Использование Отношения с несколькими менеджерами сущностей] (http://stackoverflow.com/questions/11463517/using-relationships-with-multiple-entity-managers) – Yoshi

+0

@Yoshi: Я обновил свой вопрос. – apfz

+0

Я думаю, что для вас самая важная вещь из связанного ответа: «Использование разных менеджеров объектов (менеджеров сущностей) не позволяет пересекать объектные графы». Здесь вы можете заменить «менеджеры объектов» на «базы данных». Кроме того, при работе с одним менеджером сущностей, я думаю, [«Наследование наследования»] (http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html) может быть хорошо читал для вас. – Yoshi

ответ