where('mobile', $value); } public function searchIdsAttribute($query, $value, array $params): mixed { if (!isset($value)) { return $query; } return $query->whereIn('id', $value); } public function authUserInfo(int $user_id) { return (new UserModel())->getDetail(params: ['id' => $user_id]); } public function getByMobile(string $mobile) { $this->is_status_search = 0; return $this->getDetail(params: ['mobile' => $mobile]); } /** * 注册 * @param string $mobile * @return bool */ public function register(string $mobile) { $time = time(); $params = [ 'avatar' => '', 'nickname' => Common::getRandNickName(), 'mobile' => $mobile, 'status' => 1, 'createtime' => $time ]; //账号注册时需要开启事务,避免出现垃圾数据 Db::beginTransaction(); if (!$user_id = $this->query()->insertGetId($params)){ Db::rollBack(); return $this->error('注册失败'); } //注册钱包 if (!Db::table('user_wallet')->insert(['user_id'=>$user_id])){ Db::rollBack(); return $this->error('注册失败'); } Db::commit(); return $this->success('注册成功',array_merge($params,[ 'id' => $user_id ])); } // 开播点赞 public function roomLike() { return $this->hasOne(LiveRoomLogLikeModel::class, 'user_id', 'id'); } }