public static function userLevelUp($userId) { $userNode = UserNode::nodeIds($userId); $userNodeIds = implode(',', $userNode); $nodes = Node::whereRaw("id in ({$userNodeIds})")->get(); $result = $top = array(); foreach ($nodes as $key => $node) { if (!in_array($node->parent_node, $top)) { array_push($top, $node->parent_node); } $result['second'][$node->parent_node][] = $node; } $topIds = implode(',', $top); $topNodes = Node::whereRaw("id in ({$topIds})")->get(); foreach ($topNodes as $tkey => $tnode) { $result['top'][] = $tnode; } return $result; }
public function node() { $userId = Auth::user()->id; $userNode = UserNode::nodeIds($userId); $nodes = Node::allLevelUp(); return View::make('nodes.node', compact('userNode', 'nodes')); }