with(['like_user'=>function($query){ $query->select('id','sex','is_vip','tencent_im_user_id'); },'like_user_info'])->where('user_id',$param['user_id']); }else{ //喜欢我 $query = $query->with(['user'=>function($query){ $query->select('id','sex','is_vip','tencent_im_user_id'); },'user_info'])->where('like_id',$param['user_id']); //清除喜欢我未读状态 UserLikeModel::query()->where(['like_id'=>$param['user_id'],'status'=>0])->update(['status'=>1]); } $query = $query->orderByDesc('id') ->paginate(request('perPage',20)); $query = $query->toArray(); foreach ($query['data'] as $k=>$v){ $query['data'][$k]['distance'] = 0; //计算距离 } return $query; } /** * 获取点赞列表 */ public function get_zan_list($param){ $query = DynamicZanModel::query(); if($param['type']==1){ //我赞了他 $query = $query->with(['dynamic'=>function($query){ $query->select('id','content','img_url'); },'dynamic.user'=>function($querty){ $querty->select('id','sex','is_vip','tencent_im_user_id'); },'dynamic.user_info']) ->where('user_id',$param['user_id']); }else{ //他赞了我 $query = $query->with(['dynamic'])->whereHas('dynamic',function ($query)use($param){ $query->where('user_id',$param['user_id'])->select(); }); //清除他赞了我未读状态 DynamicZanModel::query()->with(['dynamic'])->where('status','=',0)->whereHas('dynamic',function ($query)use($param){ $query->where('user_id',$param['user_id'])->select('id','user_id','content','img_url'); })->update(['status'=>1]); } $query = $query->orderByDesc('id') ->paginate(request('perPage',20)); $query = $query->toArray(); foreach ($query['data'] as $k=>$v){ $query['data'][$k]['dynamic']['img_url'] = json_decode($v['dynamic']['img_url'],true); } return $query; } }