format('Y-m-d H:i:s'); } public function user(){ return $this->belongsTo(User::class,'user_id','id'); } public function pid(){ return $this->belongsTo(Classify::class,'classify_pid','id'); } /**del**/ protected function DelJobInfo($id){ LookJob::destroy($id); } protected function info($id,$page_index,$page_size){ $num=($page_index-1)*$page_size; $count=LookJob::where('user_id',$id)->count(); $list=LookJob::where('user_id',$id)->orderByDesc('created_at')->orderByDesc('id')->take($page_size)->skip($num)->get(); foreach ($list as $k=>$v){ $arr[]=$v->classify_one; if ($v->classify_two){ $arr[]=$v->classify_two; } if ($v->classify_three){ $arr[]=$v->classify_three; } $v->classify_id=$arr; unset($list[$k]->classify_one); unset($list[$k]->classify_two); unset($list[$k]->classify_three); $list[$k]->classify_info=Classify::whereIn('id',$arr)->pluck('classify_name'); } return ['list'=>$list,'total'=>$count]; } /**首页找活列表**/ protected function GetJobList($page_index,$page_size,$status,$classify_pid,$classify_id,$province,$city,$team_label){ $num=($page_index-1)*$page_size; $query=LookJob::whereIn('status',[0,1]); if($classify_id){ $where=function ($q)use($classify_id){ $q->where('classify_one',$classify_id)->orwhere('classify_two',$classify_id) ->orwhere('classify_three',$classify_id); }; $query->where($where); } if($classify_pid && !$classify_id){ $id_Arr=Classify::where('pid',$classify_pid)->pluck('id'); $wheres=function ($q)use($id_Arr){ $q->whereIn('classify_one',$id_Arr) ->orwhereIn('classify_two',$id_Arr) ->orwhereIn('classify_three',$id_Arr); }; $query->where($wheres); } if($province){ $query->where('province',$province); if ($city){ $query->where('city',$city); } } if ($team_label){ $query->where('team_label',$team_label); } $count=$query->count(); $list=$query->select('team_label','datetime','classify_one','classify_two','classify_three','nation','sex','area','work_time','team_label','created_at','status','province','id','city','description','username','mobile','user_id') ->with(['user:mobile,name,is_realname,id']) ->orderByDesc('created_at')->orderByDesc('id')->take($page_size)->skip($num)->get(); if (!$status){ foreach ($list as $k=>$v){ $list[$k]->mobile=mb_substr($list[$k]->mobile,0,7).'****'; $list[$k]->user->mobile=mb_substr($list[$k]->user->mobile,0,7).'****'; $re=Classify::whereIn('id',[$v->classify_one,$v->classify_two,$v->classify_three])->select('classify_name')->pluck('classify_name'); $list[$k]->classify_info=$re; unset($list[$k]->classify_one); unset($list[$k]->classify_two); unset($list[$k]->classify_three); } } return ['list'=>$list,'total'=>$count]; } /*add**/ protected function add($data){ foreach ($data['classify_id'] as $k=>$v){ if ($k==0){ $data['classify_one']=$v; }elseif ($k==1){ $data['classify_two']=$v; }elseif ($k==2){ $data['classify_three']=$v; } } $pid=Classify::whereIn('id',$data['classify_id'])->value('pid'); unset($data['classify_id']); $data['classify_pid']=$pid; LookJob::insert($data); } /*add**/ protected function updateStatus($id,$status){ LookJob::where('id',$id)->where('user_id',Auth::user()->id)->update(['status'=>$status]); } /**首页工作列表**/ protected function GetLookJobDetail($id,$status){ $list=LookJob::where('id',$id) ->select('classify_pid','datetime','nation','sex','area','work_time','team_label','classify_one','classify_two','classify_three','created_at','status','province','city','description','username','id','mobile','user_id') ->with(['user:mobile,name,is_realname,id']) ->with(['pid:classify_name,id']) ->first(); if (!$status){ $list->mobile=mb_substr($list->mobile,0,3).'****'.mb_substr($list->mobile,8,4); $list->user->mobile=mb_substr($list->user->mobile,0,3).'****'.mb_substr($list->user->mobile,8,4); } $re=Classify::whereIn('id',[$list->classify_one,$list->classify_two,$list->classify_three])->select('classify_name')->pluck('classify_name'); $list->classify_info=$re; unset($list->classify_one); unset($list->classify_two); unset($list->classify_three); return $list; } /*update**/ protected function updateInfo($data){ foreach ($data['classify_id'] as $k=>$v){ if ($k==0){ $data['classify_one']=$v; }elseif ($k==1){ $data['classify_two']=$v; }elseif ($k==2){ $data['classify_three']=$v; } } $id=$data['id']; unset($data['id']); unset($data['classify_id']); LookJob::where('id',$id)->update($data); } }