Я задал вопрос несколько часов назад – потом решил изменить мою структуру sql.
У меня есть 2 таблицы:
categories (id,title,parent_id) articles (id,title,content,parent_id)
каждая статья может иметь только одну категорию,
каждая категория может иметь 1 родительскую категорию
пример:
article (id = 1) has : parent_id = 3 category (id = 3,'root') has: parent_id = 2 category (id = 2,'sub') has: parent_id = 1 category (id = 1,'subsub') has: parent_id = 0
Я хочу создать панировочные сундуки для article (id=1)
Это будет показано как: Root->sub->subsub
Каков эффективный способ достичь этого?
Благодаря!
При загрузке статьи читайте все категории рекурсивно и покажите панировочные сухари.
Если вам нужно получить всех родителей более одного раза за сценарий (например, когда вы загружаете 50 статей и нуждаетесь в родителях для каждого), используйте модель вложенного набора , как описано в разделе « Управление иерархическими данными в MySQL» .
вы можете создать функцию, а затем вызвать функцию в функции!
например
function find(id){ list_site = array(); if whatsparent(id){ list_site[] = whatsparent(id)["name"]; find(whatsparent(id)["id"]); } } function whatsparent(x){ ... return parent #array of parent detail }
извините, если я ошибаюсь в php … я разработчик python: D