Доктрина многие ко многим присоединяются без ассоциации

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

Однако есть проблема с JOIN. Я следил за эта статья о динамических сопоставлениях, и она отлично работает.. Ну почти.

У меня есть объекты User, Article и FavoriteItem, из которых Article можно добавить в избранное. Вероятно, лучше было бы дать ссылку на этот проект github с файлом readme (ссылка).

Проблема в основном в что метод, который должен возвращать FavoriteItem по User и IFavoritableEntity, что в нашем примере будет Article. Как видите, этот метод использует нативный запрос, но можно ли использовать DQL? Я знаю, что мне пришлось бы использовать соединение с таблицей без ассоциации, но кажется, что доктрина может сделать это только для ассоциаций «один ко многим/многие к одному». Я прав? Или есть другой способ сделать это в DQL?

Также как вы думаете, есть ли вообще способ выбрать в одном запросе (DQL) все IFavoritableEntities по одному User? Я просто не могу представить.

Спасибо


person David Kudera    schedule 29.01.2015    source источник


Ответы (1)


Поэтому я нашел другой вариант, который позволяет добавить возможность расширения объекта FavoriteItem, где я могу добавить поле с ассоциацией, например. Article::favorites поле.

person David Kudera    schedule 30.01.2015