Изучаю Doctine 2, смотрел официальную документацию, прочитал книгу Ромера, но один вопрос остался. Вот у меня есть такая сущность (прямо из книги, ничего не придумывая долго): Код (Text): /** * @Entity * @Table(name="users") */ class User { /** * @OneToMany(targetEntity="Entity\Post", mappedBy="user") */ private $posts; // [..] } Ну, и соответственная сущность Post, естественно. Теперь, если я обращусь, ну к примеру через геттер, али ещё как непосредственно к полю $posts экземпляра User, будут загружены сразу все посты этого несчастного пользователя, правильно? А вот если мне нафиг не нужны все его посты, мало ли сколько он наваял, насколько я понял, я уже не могу использовать поле Posts, а должен каким-то образом реализовывать запрос DQL с ограничением лимитов. Я прав? Т.е. фактически само по себе поле $posts имеет очень ограниченное значение, и в реальности и не особо нужно? Запросы я и без него напишу...
да, для постраничности тут можно в репозитории постов описать метод что-то типа getFindPostsByUserQuery(UserInterface $user), там внутри будет DQL, но будет возвращаться именно query, а не коллекция, затем этот query можно затолкать в Pagerfanta.
Ну вот и я пытаюсь. Мне просто скоро предстоит достаточно крупный проект, я уже точно решил, что буду там использовать ZF2, а вот буду ли использовать Doctrine - ещё думаю. Главный смысл здесь - уйти от SQL, а оперировать только понятиями объектов. Но результатирующий код меня пока не сильно привлекает
с кодом всё в порядке будет, большую часть запросов можно запаковать в репозитории и оперировать в сервисах только методами.
понятно ) в общем в доктрине всё давно придумано до нас надо только изучить и пользоваться там не так много вещей, которые она действительно не позволяет сделать...