group_concat をデータの配列として使用して、データベースから取得した値を返したいと思います。mysqlクエリでこれを行うことは可能ですか? または、データを配列に分解する必要がありますか?
GROUP_CONCAT(sh.hold_id) as holds
これを返します
[holds] => 3,4
私はそれを返したい:
[holds] => array(3,4)
コメントで述べたように、次のような php コードを使用して、データを配列に分解する必要があります。
$holds = explode(',', $holds);
mysql にはデータの配列型の概念がないためです。
MySQLには配列の概念がありません。したがって、配列を返すことはできません。連結された表記をphp配列に変換するのは、処理コード(ここではphpスクリプト)次第です。
MySQL レベルでそれを行う必要がある場合は、おそらくそれをオブジェクトに解析することができます。次のことができます
SELECT CONCAT("[", GROUP_CONCAT(category.name), "]") AS categories
From categories
このように mysql JSON 配列を返すことは可能です。
json_array(GROUP_CONCAT(sh.hold_id)) as holds
詳細については、ドキュメントを参照してください。