TreeController.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace app\api\controller\activity;
  3. use app\models\tree\TreeRecommend;
  4. use app\Request;
  5. class TreeController
  6. {
  7. public function myPoint(Request $request)
  8. {
  9. $user = $request->user();
  10. $points = TreeRecommend::where('uid', $user['uid'])->order('add_time', 'asc')->select()
  11. ->each(function ($item) {
  12. $children = [];
  13. $father = [$item['id']];
  14. $layer = 1;
  15. while (count($father) && $layer <= 12) {
  16. $father = TreeRecommend::where('parent_id', 'in', $father)->column('id');
  17. if (count($father) > 0) $children = array_merge($children, $father);
  18. $layer++;
  19. }
  20. $item['children_num'] = count($children);
  21. });
  22. return app('json')->success('ok', compact('points'));
  23. }
  24. public function pointChildren($id, Request $request)
  25. {
  26. $children = TreeRecommend::with(['user'])->where('parent_id', $id)->order('way', 'asc')->select();
  27. return app('json')->success('ok', compact('children'));
  28. }
  29. }