2
我必須有標籤格式任務:顯示標籤由標籤來分類的列表中的項目
Array
(
[0] => stdClass Object
(
[task_id] => 10,
[task_text] => Mow and fertilize,
[tags] => Array
(
[0] => stdClass Object
(
[tag_id] => 1,
[tag_text] => House,
[tt_tag_id] => 1, //from relational table, tt = task_tag
[tt_task_id] => 10,
[tt_id] => 20, //auto id from relational table
[tt_order] => 0
),
[1] => stdClass Object
(
[tag_id] => 2,
[tag_text] => Yard,
[task_tag_id] => 2,
[task_task_id] => 10,
[tt_id] => 21,
[tt_order] => 1
)
[2] => stdClass Object
(
[tag_id] => 5,
[tag_text] => Lawn,
[task_tag_id] => 5,
[task_task_id] => 10,
[tt_id] => 22,
[tt_order] => 2
)
)
)
[1] => stdClass Object
(
[task_id] => 11,
[task_text] => Unclog the sink drain,
[tags] => Array
(
[0] => stdClass Object
(
[tag_id] => 1,
[tag_text] => House,
[task_tag_id] => 1,
[task_task_id] => 11
[tt_id] => 30,
[tt_order] => 0
),
[1] => stdClass Object
(
[tag_id] => 3,
[tag_text] => Kitchen,
[task_tag_id] => 3,
[task_task_id] => 11,
[tt_id] => 31,
[tt_order] => 1
)
)
)
[2] => stdClass Object
(
[task_id] => 12,
[task_text] => Purchase new microwave,
[tags] => Array
(
[0] => stdClass Object
(
[tag_id] => 4,
[tag_text] => Apartment 1,
[task_tag_id] => 4,
[task_task_id] => 12
[tt_id] => 40,
[tt_order] => 0
),
[1] => stdClass Object
(
[tag_id] => 3,
[tag_text] => Kitchen,
[task_tag_id] => 3,
[task_task_id] => 12,
[tt_id] => 41,
[tt_order] => 1
)
)
)
)
我希望能夠通過標籤的任務,這樣的排序:
Array
(
[0] => stdClass Object
(
[tag_id] => 1,
[task_text] => House,
[child_tags] => Array
(
[0] => stdClass Object
(
[tag_id] => 2,
[tag_text] => Yard,
[task_tag_id] => 2,
[task_task_id] => 10,
[tt_id] => 21,
[child_tags] => Array
(
[1] => stdClass Object
(
[tag_id] => 5,
[tag_text] => Lawn,
[task_tag_id] => 5,
[task_task_id] => 10,
[tt_id] => 22,
[task_id] => 10,
[task_text] => Mow and fertilize
)
),
[1] => stdClass Object
(
[tag_id] => 3,
[tag_text] => Kitchen,
[task_tag_id] => 3,
[task_task_id] => 11,
[tt_id] => 31,
[task_id] => 11,
[task_text] => Unclog the sink drain,
)
)
)
[1] => stdClass Object
(
[tag_id] => 4,
[tag_text] => Apartment 1,
[child_tags] => Array
(
[0] => stdClass Object
(
[tag_id] => 2,
[tag_text] => Kitchen,
[task_tag_id] => 2,
[task_task_id] => 10,
[tt_id] => 21,
[task_id] => 12,
[task_text] => Purchase new microwave
)
)
)
)
最終我所拍攝的是:
<ul>
<lh>House</lh>
<li>
<ul>
<lh>Kitchen</lh>
<li>Unclog the sink drain</li>
</ul>
</li>
<li>
<ul>
<lh>Yard</lh>
<li>
<ul>
<lh>Lawn</lh>
<li>Mow and fertilize</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<lh>Apartment 1</lh>
<li>
<ul>
<lh>Kitchen</lh>
<li>Purchase new microwave</li>
</ul>
</li>
</ul>
該數據庫正是你想象的。任務表和具有n2n關係表的標籤表。
似乎沒有一種簡單的方法來循環執行任務和標籤,以這種方式進行排序。我應該嘗試不同的方法嗎?這是愚蠢的嗎?
我不 請參閱標籤的任何父/子引用,那麼如何讓它們像這樣的層次結構?此外,''項目不在HTML規範中,因此請避免它。 –
2013-04-10 19:22:10
起初,我試圖通過tt_id命令,這不是真的是什麼,所以我添加了一個tt_order列,這是標籤與任務相關聯的順序。添加後我可能會接近我自己的解決方案。 – DrCorduroy 2013-04-10 21:24:28