Это результат, который я хочу:
January 2018
Division A
Division B
Division C
February 2018
Division A
Division B
Division C
..so on..
В контроллере это код:
$i = 0;
for ($dd = $start_date; $dd <= $last_date;) {
$month_iteration = date("F Y",strtotime($dd));
$data['months'][$i] = $month_iteration; // this successfully saves months in months array
$dd = date('Y-m-d', strtotime($dd . 'next month')); // ctr++
$i++;
}
foreach ($data['months'] as $m_key) { // for every month saved, I need to print all divisions
$data['months'][$m_key]['divisions'] = $this->division_model->get_divisions();
}
Обычно это работает нормально, когда я использую foreach внутри foreach внутри foreach. В этом случае я не уверен, как сохранить месяцы в массиве, отличном от цикла for.
С приведенным выше кодом, это приводит к:
January 2018
error Invalid argument supplied for foreach()
February 2018
error Invalid argument supplied for foreach()
Array
Division A Division B Division C
Array
Division A Division B Division C
Таким образом, она печатает месяцы и деления отдельно и умножается (?)
Я попытался сохранить деление в цикле с этим кодом:
$data['months'][$i]['divisions'] = $this->division_model->get_divisions();
Когда я делаю var_dump($data)
, деление ничего не показывает. Я понимаю, что я тоже ошибаюсь, используя этот подход.
Что я делаю не так? Каков наилучший подход для достижения необходимого результата?