2013-08-07 3 views
1

Я google и google и читаю 100000 руководств, но я думаю, что это можно сделать в кодеригенере на модели, контроллере и представлениях.Вложенные данные базы данных Codeigniter

Am Тринг, чтобы показать мои записи базы данных, как это:

Default Category 
    |----- Sub category 
      | ----One more category 
       |----- Somthing else 

Стараюсь с LFT и RGT перевалы, но я действительно Dont много понять, что концепция.

Я прочитал это и попробую эту функцию оптимизировать в модели Codeigniter, но это работает только в модели. http://www.sitepoint.com/hierarchical-data-database-2/

http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

теперь у меня есть простой дб Sheme: Категории с Cols ид, parent_id, название

Any1 может дать мне один простой пример ... Пожалуйста

Благодаря

+0

вам нужно использовать вложенный 'foreach()' – Kyslik

ответ

0

Предполагая следующую основную структуру таблицы:

  • идентификатор
  • parent_id
  • имя

Вам нужно сделать вложенный цикл.

Что-то вроде:

SELECT * FROM table WHERE parent_id = 0; # First level 
SELECT * FROM table WHERE parent_id = ?; # Subsequent levels 

Обычно вы бы затем построить это в объект в модели, которая будет возвращать что-то как массив с детьми в нем. Обычно мы делаем это с помощью функции, которая вызывает себя и возвращает объект, который мы добавляем к предыдущему объекту. Однако будьте осторожны с рекурсивными функциями, они имеют тенденцию идти не так, как надо!

Надеюсь, что это поможет.

Смежные вопросы