Intereting Posts
Как безопасно использовать UniqueEntity (на сайтах с более чем одним одновременным пользователем) Измените сумму, уплаченную в месяц для платежного платежного счета PayPal Поддерживают ли браузеры автозаполнение для загруженных форматов регистрации ajax? почему 3 обратная косая черта равна 4 обратным слэшам в php? Как аутентифицировать пользователя на индексной странице в Yii Данные сеанса моста между устаревшим приложением и Symfony2 Как проверить, наследует ли класс другой класс, не создавая его? порядок выполнения в веб-среде Yosemite Apache, информация о PHP не показана Как найти последний день месяца с даты? php combobox & button должна скрываться после обновления в mysql db и показывать сообщение об успешном завершении вместо поля combobox & button. Mysql Никакое соединение не может быть сделано, потому что целевая машина активно отказалась от него PHP-based парсер LaTeX – с чего начать? PHP mysqli_fetch_array как перейти к следующей строке? PHP Удаленное удаление файлов в Dropbox с использованием PHP без использования API

Как я могу выполнять сложные ассоциации ассоциаций в доктрине 2? (виртуальный объект)

Предположим, у меня есть приложение для блога.
Автор может добавить несколько изображений в сообщение, указав ссылку на URL-адрес существующего изображения в Интернете или загрузив новое изображение.

Я хочу иметь возможность обратного отслеживания изображения (либо загруженного, либо url) для всех сообщений, которые используют это изображение, и от определенной записи ко всем изображениям в этом сообщении (например, чтобы я мог удалить изображения, которые являются незаконными и / или приостановить сообщение, которое использует их, пока автор не зафиксирует сообщение).

Тем не менее, я использую разные объекты для загруженного изображения и изображения url – загруженное изображение имеет больше данных относительно изображения, чем изображение URL-адреса.

Это приводит к более сложному коду, так как при каждом сохранении отредактированного сообщения мне нужно проверить, какой вид является конкретным изображением (из всех изображений в почте, которые мне нужно выполнить), а не создавать или обновлять его запись и назначить поле отношения в почтовом объекте.

Итак … предполагая, что у меня есть объекты UploadedImage и UrlImage , я подумал о том, что в setImages метод setImages , который проверяет каждое изображение, которое он получает, если он загружен или url, а затем вызывает либо setUploadedImages либо setUrlImages .

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

Это звучит немного сложно, и я подумал:

  1. Как я могу создать объект виртуальной доктрины (с ее хранилищем и всеми)?
  2. Есть ли лучший дизайн для этого?

Вот документация для того, что вы пытаетесь сделать:
http://doctrine-orm.readthedocs.org/en/latest/reference/inheritance-mapping.html

Он описывает однонаправленное наследование таблицы и наследование таблицы классов. Ваш случай подходит для последнего, но также рассмотрите возможность перехода на однонамерное наследование.

Если (код) пользователи этих изображений относятся к ним одинаково независимо от их происхождения, добавленная сложность запросов и использование базы данных не будут стоить нормализации.