Имею такую таблицу:
id, id_user, left_user, right_user
id - просто ID в таблице
id_user - ID пользователя
left_user - человек под id_user слева
right_user - человек по id_user справа
Как это перенести из базы данных в массив PHP, чтобы разбить по уровням? Я пробовал сделать так:
public function createTree($id_user) {
$data = [];
$user = Users::model()->findByAttributes(array('id_user' => $id_user));
if ($user !== null) {
$data[] = $this->createTree($user->left_user);
$data[] = $this->createTree($user->right_user);
}
return $data;
}
Но массив возвращается с одним элементом, и не получается разбивать по уровням. Что я делаю не так?
Насколько я вижу из кода переменная $data существует только в функции createTree поэтому вы получаете только результат последнего добавления. Переменная должна быть свойством класса $this->data или быть объявленной глобальной global $data.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется HTML-разметка в текстовой переменнойКак можно заменить все теги в этой разметке на тег p? Есть ли стандартные функции PHP для этого? strip_tags()...
Код ресайзит(resize) картинки и сохранят в папкуНужно вызвать функцию ресайза, но как-то красиво, чтоб не дублировать код