YiiFramework Как вывести такой результат в GridView::widget ?

Stan

Новичок
Здравствуйте. Прошу дать совет начинающему, долго бьюсь с проблемой но так и не понял как ее решить.

Есть 3 таблицы:
- список пользователей employees
- список должностей employee_positions (внешний ключ id_user к id таблицы employees и внешний ключ id_department к id таблицы departments) - каждый пользователь имеет несколько должностей из разных подразделений
- список подразделений

Запрос к базе делаю так:

PHP:
$dataProvider = new SqlDataProvider([
  'sql' => '
SELECT * FROM `employees` e
LEFT JOIN `employee_positions` p ON e.id=p.id_user
LEFT JOIN `departments` d ON d.id=p.id_department
ORDER BY e.fio ASC
',
 'totalCount' => $count,
]);
Во вьюхе вывожу результаты, получается, что каждый пользователь дублируется - сколько у него должностей столько и строк. А мне надо, чтобы каждый пользователь был единожды, но в правом столбце перечислялись все его должности и к какому подразделению эта должность относится. Возможно ли такое с помощью GridView::widget?

Пытался выводить самописную таблицу, но не понял как получить результаты из провайдера $dataProvider?
var_dump($dataProvider) не содержит самих данных.

Благодарю за ответы.
 

fixxxer

К.О.
Партнер клуба
Я не знаю и не хочу ничего знать про yii с его виджетами, но в mysql ты можешь получить искомое, используя group by и group_concat.
 
Сверху