В настоящее время я работаю над модулем доктрины для избранного, который можно повторно использовать в любом проекте и для любой сущности.
Однако есть проблема с JOIN. Я следил за эта статья о динамических сопоставлениях, и она отлично работает.. Ну почти.
У меня есть объекты User
, Article
и FavoriteItem
, из которых Article
можно добавить в избранное. Вероятно, лучше было бы дать ссылку на этот проект github с файлом readme (ссылка).
Проблема в основном в что метод, который должен возвращать FavoriteItem
по User
и IFavoritableEntity
, что в нашем примере будет Article
. Как видите, этот метод использует нативный запрос, но можно ли использовать DQL? Я знаю, что мне пришлось бы использовать соединение с таблицей без ассоциации, но кажется, что доктрина может сделать это только для ассоциаций «один ко многим/многие к одному». Я прав? Или есть другой способ сделать это в DQL?
Также как вы думаете, есть ли вообще способ выбрать в одном запросе (DQL) все IFavoritableEntities
по одному User
? Я просто не могу представить.
Спасибо