看板 PHP 關於我們 聯絡資訊
分類的 table 為 categories,結構如下 id primary key name varchar order int category_id int NULL 如果 category_id 是 NULL 的話,就是第一層,order 同時也為 0,今天需要將雙層的目錄撈出後 output 成 JSON 格式 { "Category": [ { "first_name":"a1", "second_category": [ "second_name":"a1-1", "second_name":"a1-2" ] } ],[ { "first_name":"a2", "second_category": [ "second_name":"a2-1", "second_name":"a2-2", "second_name":"a2-3" ] } ] } 我的 framework 是 Laravel,所以寫法為 $result = []; $category = Category::whereNull('category_id')->with('categories); if (NULL !== $category) { foreach ($category->get() as $k => $first) { $result['Category'][$k]['first_name'] = $first->name; if (NULL !== $first->children) { foreach ($first->children as $j => $second) { $result['Category'][$k]['second_category'][$j]['second_name'] = $second->name; } } } } return Response::json($result); 不知道有沒有更精簡的做法,假設今天要取到三層,會變的很長 $result['Category'][$k]['second_category'][$j]['third_name'][$i] = $third->name; ※ 編輯: chan15 來自: 1.34.249.126 (11/21 11:17)
dlikeayu:最後要轉json,不如搞個nosql來玩更快更有效率 11/25 04:41