middleware('auth'); view()->share('nav', 2); } /** * 成为会员的6层用户,这个写的比较清晰 * @Author: * @Date:2019-01-07T10:12:29+0800 * @param Request $request [description] * @param integer $node [description] * @return [type] [description] */ public function index(Request $request, $node = 0) { $user = Auth::user(); $page = $request->page ?? 1; //获取当前页码 $lists = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%") //血缘有关 ->where('layer', '<=', $user->relation->layer + 6) //向下6层 // ->whereHas('identity', function ($query) use ($user) { // //存在大于会员身份 // $query->where('identity_id', '>', 0); // }) // ->orderBy('layer', 'asc')->orderBy('user_id', 'asc')->paginate(50); //层正序,分页50。 ->orderBy('layer', 'asc')->orderBy('user_id', 'asc')->get(); //层正序,分页50。 if ($page > 1) { //页码大于1,AJAX调用分页 if ($lists->count() > 0) { //内容大于0返回渲染的页面HTML内容 $html = response(view('team.item', compact('lists')))->getContent(); return $this->success($html); } else { //无内容提示到最后一页 return $this->error('已经到最后一页'); } } else { //正常渲染访问页面 $listsCount = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%") ->where('layer', '<=', $user->relation->layer + 6) // ->whereHas('identity', function ($query) use ($user) { // $query->where('identity_id', '>', 0); // }) ->orderBy('layer', 'asc')->count(); return view('team.index', compact('user', 'lists', 'listsCount')); } } /** * 未成为会员的6层用户,这个写的比较乱 * @Author: * @Date:2019-01-07T10:12:01+0800 * @param Request $request [description] * @param integer $node [description] * @return [type] [description] */ public function novip(Request $request, $node = 0) { $user = Auth::user(); if (Auth::id() == 3 || Auth::id() == 1757 || Auth::id() == 12 || Auth::id() == 824) { //测试人员查看指定人员关系 $user = User::find(62); } $page = $request->page ?? 1; //获取当前页码 //列举下6层所有会员 $ids = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%") ->where('layer', '<=', $user->relation->layer + 6) ->whereHas('identity', function ($query) use ($user) { $query->where('identity_id', '>', 0); }) ->pluck('user_id') ?: [0]; //排除会员查询6层血缘关系 $lists = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%") ->where('layer', '<=', $user->relation->layer + 6) ->whereNotIn('user_id', $ids) ->orderBy('layer', 'asc')->orderBy('layer', 'asc')->orderBy('user_id', 'asc')->paginate(50); //以下步骤同INDEX事件 if ($page > 1) { if ($lists->count() > 0) { $html = response(view('team.item', compact('lists')))->getContent(); return $this->success($html); } else { return $this->error('已经到最后一页'); } } else { $children_count = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%") ->where('layer', '<=', $user->relation->layer + 6) ->whereNotIn('user_id', $ids) ->orderBy('layer', 'asc')->count(); return view('team.novip', compact('user', 'lists', 'children_count')); } } }