2 つの結合を持つ MySQL クエリの結果は次のとおりです。
Array (
[0] => Array ( [place_id] => 1 [place] => Berlin [lat] => 52.519 [lon] => 13.406 [id] => 1 [pname] => Firstschool [typ] => 0 [s_id] => 32 [fac] => history)
[1] => Array ( [place_id] => 1 [place] => Berlin [lat] => 52.519 [lon] => 13.406 [id] => 1 [pname] => Secondschool [typ] => 0 [s_id] => 33 [fac] => math)
[2] => Array ( [place_id] => 1 [place] => Berlin [lat] => 52.519 [lon] => 13.406 [id] => 1 [pname] => Secondschool [typ] => 0 [s_id] => 33 [fac] => english)
)
データはいくつかの点で冗長です。次のようにする必要があります。
Array (
[Berlin] => Array ( [lat] => 52.519
[lon] => 13.406
[schools] => Array([0]=> Firstschool [1]=>Secondschool)
)
[OtherCity] => Array ( ... )
)
まず、これは大丈夫ですか、それともより良い解決策がありますか? =) 2番目..必要な結果を得るために分割する方法。
次のコード スニペットのようなもので試してみましたが、思いどおりに動作しません。
foreach($viewmodel as $item) {
$data[$item['place']][] = $item['pname'];
}
結果は次のとおりです。
Array ( [Berlin] => Array ( [0] => Firstschool [1] => Firstschool [2] => Firstschool ))
あまり役に立ちません。;)
私が必要としていることが理解できることを願っています。誰かがこの問題を解決する良いアイデアを持っているかもしれません。
御時間ありがとうございます。