2

多次元の StdClass オブジェクトを作成しようとしていますが、出力は常に、すべてのループのコレクションではなく、最初と 2 番目の foreach ループの最後のループからのものです。

毎日 3 つの $exercises が含まれている必要があります。そして5日あるのに、1回のエクササイズで1日だけ登場。

関数と現在の出力: http://paste.laravel.com/WIU

4

2 に答える 2

5

ループするたびにオブジェクトのdays属性を上書きしているようです。dataの代わりにstdClass$data->days配列にする必要があります。次に、stdClass毎日を記述するオブジェクトをその配列に追加する必要があります...次のようなものです(14行目あたりのコードの一部を使用):

$data->days = array(); //create the array
foreach ($jsonDays as $day) 
        {
            $newDay = new stdClass(); //create a day object
            $newDay = $day->day; //add things to the day object
            ...
            $data->days[] = $newDay; //push the day object onto your day array.

同じアプローチは、毎日複数のエクササイズを追加する場合にも機能します.

于 2013-10-06T01:52:43.723 に答える