Как объединить некоторые записи?
При выборке из бд выходит, что на 1 запись одной таблицы приходится 1-n записей из другой.
author | id | name
1 Василий
2 Петров
3 Николаев
books | id | title
1 матан
2 химия
book_author id_book | id_author
1 1
1 3
2 2
При выборке выходит следующий объект:
foreach($model as $row)
{
echo $row['title_ru']." -- ".$row['fio_ru']."<br>";
}
- матан => Василий
- матан => Николаев
- химия => Петров
Вопрос, как сделать выборку, чтобы было:
1. матан => [Василий,Петров]
2. химия => [петров]
Я потом хочу оформить как
1. матан | Василий,Николаев
2. химия | Петров
Код выборки данных:
$model = Tutorials::findBySql('SELECT title_ru,fio_ru
FROM Tutorials AS t
INNER JOIN author_tutorial as at ON t.id = at.id_tutorial
INNER JOIN Lectors as l ON l.id = at.id_author')->asArray()->all();
Источник: Stack Overflow на русском