add($referee_id, $user_id, 1); } $parent_id = RefereeModel::getRefereeUserId($referee_id, 1); if (empty($parent_id )) { return false; } else { if ($user_id == $parent_id) { return UserModel::detail($user_id); } $model->add($parent_id, $user_id, ++$level); return self::updateRelation($user_id, $parent_id, $level, $later); } return true; } /** * 新增关系记录 */ private function add($agent_id, $user_id, $level = 1) { // 新增推荐关系 $app_id = self::$app_id; $create_time = time(); $this->insert(compact('agent_id', 'user_id', 'level', 'app_id', 'create_time')); return true; } private static function inArray($item, $array) { $flipArray = array_flip($array); return isset($flipArray[$item]); } /** * 获取指定用户的推荐人列表 */ public static function getRelationList($userId) { return (new static)->with(['agent1'])->where('user_id', '=', $userId)->select(); } /** * 获取指定用户的推荐和间推团队列表 */ public static function getTeamList($userId) { return (new static)->with(['agent1'])->where('agent_id', '=', $userId)->select(); } /** * 清空所有层级推荐关系 */ public function onClearRelation($userId, $level = -1) { $model = $this; if($level > -1) { $model = $model->where('level', '=', $level); } return $model->where('user_id', '=', $userId)->delete(); } }