format('Y-m-d H:i:s'); } /**首页工作列表**/ protected function GetTopJob(){ return JobList::whereIn('status',[0,1]) ->select('created_at','status','title','province','city','description','username','mobile') ->with(['user:mobile,name,is_realname']) ->orderByDesc('created_at')->orderByDesc('id')->limit(20)->get(); } /**首页工作列表**/ protected function GetJobList($page_index,$page_size,$status,$classify_pid,$classify_id,$province,$city){ $num=($page_index-1)*$page_size; $query=JobList::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); } } $count=$query->count(); $list=$query->select('area','time','created_at','id','status','title','province','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).'****'; } } return ['list'=>$list,'total'=>$count]; } /**首页工作列表**/ protected function GetJobDetail($id,$status){ $list=JobList::where('id',$id) ->select('area','time','classify_one','classify_two','id','title','classify_three','created_at','status','title','province','city','description','username','mobile','user_id') ->with(['user:mobile,name,is_realname,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; } /**个人发布的招工信息**/ protected function GetUserJobList($page_index,$page_size){ $num=($page_index-1)*$page_size; $user_id=Auth::user()->id; $count=JobList::where('user_id',$user_id)->count(); $list=JobList::where('user_id',$user_id) ->select('classify_one','classify_two','classify_three','area','time','created_at','status','title','province','city','description','username','mobile','user_id','id') ->with(['user:mobile,name,is_realname,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]; } /*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; JobList::insert($data); } /*add**/ protected function updateStatus($id,$status){ JobList::where('id',$id)->where('user_id',Auth::user()->id)->update(['status'=>$status]); } /**del**/ protected function DelJobInfo($id){ JobList::destroy($id); } public function user(){ return $this->belongsTo(User::class,'user_id','id'); } public function classify(){ return $this->hasOne(Classify::class,'id','classify_id'); } public function classifyOne(){ return $this->hasOne(Classify::class,'id','classify_one'); } public function classifyTwo(){ return $this->hasOne(Classify::class,'id','classify_two'); } public function classifyThree(){ return $this->hasOne(Classify::class,'id','classify_three'); } }