Это похоже на простой вызов, но я борюсь.
Я хочу получить записи, используя запрос на соединение двух таблиц базы данных, и представить их в виде массива массивов, причем каждый из элементов корневого массива является родительской записью, а каждый вложенный элемент представляет дочернюю запись.
SQL-запрос работает нормально и возвращает набор строк, в которых столбец channel_key
является столбцом группировки.
Вот моя попытка заполнения структуры массива из строк:
$rows = $db->get_results($query);
$key = '';
$programmes = array();
foreach ($rows as $row) {
$programme = array(
'title' => $row->title,
'start' => $row->start,
'duration' => $row->duration
);
$programmes[] = $programme;
if ($key != $row->channel_key) {
$channels[] = array(
'key' => $row->channel_key,
'programme' => $programmes
);
$key = $row->channel_key;
$programmes = array();
}
}
К сожалению, это заполняет только массивы корневого уровня (те, которые соответствуют родительским записям).
Любые предложения, пожалуйста?
Спасибо,
Тим