Изучаю Symfony. Наверное я чего-то не знаю, но
Есть две таблицы, связь Много-к-1. Ну, скажем. посты и авторы постов
Необходимо получить 10 постов и авторов к ним.
Получаем все посты — это один запрос.
Для каждого поста получаем автора — это на каждый пост по запросу.
Итого 11 запросов. А если надо получить данные не из двух таблиц, а больше?
Другой вариант — ручками собрать запрос в QueryBuilder, но тоже как-то многовато писанины и не получится переиспользовать потом. Билдер только получить уже чего стоит.
Можно сделать отдельный метод в репозитарии, что-то вроде findPostsJoinAuthors(...), там уже запользовать билдер, но все равно, если параметров много, то раздуется метод сильно. Да и таблиц у меня больше двух.
В Yii с этим проще. Прописали (или само сгенерило) связи между моделями и
$post = Post::model()->with('author')->findAllByAttributes(array('category' => 10));<br>
$autor_name = $post->author->name;<br>
и это один запрос.
Вопрос: Как принято поступать в таких случаях и зачем так много писанины для таких простых вещей?
Спасибо.