В настоящее время я работаю над модулем доктрины для избранных, которые могут быть повторно использованы в любом проекте и для любого объекта.Doctrine many-to-many join without association
Однако есть проблемы с JOINs. Я следовал this статье о динамических сопоставлениях и отлично работает .. Ну почти.
У меня есть User
, Article
и FavoriteItem
объектов, где Article
объект может быть добавлен в избранное. Вероятно, ссылка на этот проект github с readme будет лучше (link).
Проблема заключается в основном в that метод, который должен возвращать FavoriteItem
по User
и IFavoritableEntity
, что в нашем примере будет Article
. Как вы можете видеть, этот метод использует собственный запрос, но можно ли использовать DQL? Я знаю, что мне пришлось бы использовать объединение в таблицу без ассоциации, но кажется, что доктрина может сделать это только для ассоциаций «один-ко-многим» и «много-к-одному». Я прав? Или есть ли другой способ, как это сделать в DQL?
Как вы думаете, есть ли вообще какой способ выбрать в одном запросе (DQL) все IFavoritableEntities
одним User
? Я просто не могу себе представить.
Спасибо