Есть страница просмотра конкретного элемента.
Есть страница списка этих элементов.
Задача: получить несколько связанных записей из другой таблицы.
Для конкретного элемента мы можем написать отдельный запрос/метод, который принимает id этого элемента и выцепить необходимые данные.
Но что делать, когда эти же данные нужны на странице списка элементов?
То есть, у каждого элемента есть связанные с ним записи из другой таблицы. Здесь мы не привязываемся к конкретному id. Здесь получаем просто все элементы.
И как вложить внутрь каждого элемента массива записи из другой таблицы?
Array
(
    [0] => Array
        (
            [id] => 17
            [name] => Киевская Русь
           // чтобы выглядело примерно так
            [elements] => [
                        [field1]  => 'field1'
                        [field1]  => 'field1'
            ]
        )
    [1] => Array
        (
            [id] => 19
            [name] => Скандинавия
        )
    [2] => Array
        (
            [id] => 11
            [name] => СССР
        )
    [3] => Array
        (
            [id] => 15
            [name] => СССР 1
        )
    [4] => Array
        (
            [id] => 18
            [name] => Тест
        )
)
UPD:
1. Я могу сделать GROUP_CONCAT и все вернется в строке с каким-то разделителем. Далее explode. Но этот вариант, как мне кажется, не оптимальный.
2. Можно сделать отдельный запрос на получение данных из второй таблицы и потом их смаппить в цикле перед выводом. Тоже, как показалось, вариант не оптимальный.