У меня есть ряд строк (ингредиентов) в таблице в моей базе данных, я использую следующий код для итерации и заполнения своего представления по имени каждого, но я хочу иметь возможность отображать детей / родителей (столбцы в БД) каждого элемента, я могу правильно вывести значения, но когда я пытаюсь повторить, как показано ниже, я получаю «Сообщение: Неопределенный индекс: родители» & «Сообщение: Неопределенный индекс: дети»;
<?php foreach ($ingredient as $row => $key) { ?>
<tr>
<td><?php echo $row + 1; ?> </td>
<td><?php echo $key['name']; ?> </td>
<?php ChromePhp::log($key['parents']); ?>
<td><?php echo $key['parents']; ?> </td>
<?php ChromePhp::log($key['children']); ?>
<td><?php echo $key['children']; ?> </td>
<td>
</tr>
<?php } ?>
Я в замешательстве, так как у меня нет проблем с выходом из системы.
Я предположил, что это может быть связано с нулевыми значениями, поэтому я назначил child / parent строковое значение для каждой строки следующим образом:
но ошибка сохраняется.
Вот записанный вывод в браузере;
Выход <?php ChromePhp::log($key); ?>
РЕДАКТИРОВАТЬ: Вот как я строю массив $ ингридиентов;
<?php
function get_ingredient()
{
$qry = "SELECT CONCAT(UPPER(LEFT(i.name, 1)), LCASE(SUBSTRING(`name`, 2))) as name,i.id as id,'ingredient' as type, i.parents as parents, i.children as children FROM `ingredient` i WHERE i.is_del=0 order by i.name asc";
$qry = $this->db->query($qry);
if ($qry->num_rows() > 0) {
$ingr = $qry->result_array();
} else {
$ingr = array();
}
}
?>
Полагаю, я упускаю что-то фундаментальное, любой совет был бы очень признателен. Приветствия.