where('paid', 1)->where('product_type',2)->whereNotIn('status',-1)->sum('pay_price'); $old_level = self::where('id', $user['level'])->find(); if (!$old_level) $old_level = [ 'grade' => 0, 'name' => '普通会员' ]; $level = self::where('grade', '>', $old_level['grade'])->where('achievement', '<=', $achievement) ->order('grade', 'desc')->find(); if ($level) { $user->level = $level['id']; $user->save(); } $pass[] = $uid; $spread = User::where('uid', $user['spread_uid'])->find(); if ($spread) return $this->checkLevel($spread['id'], $pass); return true; } // public function get_group_user($id, $init = true, $members = null){ // if ($init) { // $us = \app\common\model\user\User::column('spread_uid', 'uid'); // $members = []; // foreach ($us as $k => $v) { // if ($v > 0) // $members[$v][] = $k; // } // $id = [$id]; // } // $arr = array(); // foreach ($id as $v) { // $child = $members[$v] ?? []; // $arr = array_merge($arr, $child); // } // if (count($arr)) { // return array_merge($arr, get_group_user($arr, false, $members)); // } else { // return $arr; // } // } }