Em array de banco de dados significa tabelas. Se você deseja dados em formato de matriz, a melhor maneira de armazenar os valores em uma tabela temporária separada.
Curti
article_id, category_id, category_name
1 1 Cat1
2 1 Cat1
3 2 Cat2
3 1 Cat1
Ou você tem que usar uma concatenação dentro do group_concat
GROUP_CONCAT(cast(concat(c.id,\': \',c.name) AS char)SEPARATOR \', \') AS categorie_names
Então o resultado será como 2:Cat2,1:Cat2. Você pode dividir (primeiro com ',' depois ':') esse valor e recuperar ID e Nome.