model->when(get_subsite_id()>0,function($query){ $query->whereHas('subsite', function ($query) { $query->where('subsite_id', get_subsite_id()); }); })->where($where)->where(function ($query) { $query->where('showendtime', 0)->orWhere('showendtime', '>=', time()); })->orderBy('predetermined_status', 'asc')->orderBy('ordid', 'desc')->orderBy('predetermined_end', 'desc')->first(); } public function findJobfair($where) { return $this->model->with(['floorPlan'=>function ($query) { $query->orderBy('order_list', 'desc'); }])->where($where)->where(function ($query) use ($where) { $query->where('showendtime', '>=', time())->orWhere('showendtime', 0); })->first(); } public function allJobfair($where, $page, $pageCount,$search_type,$key) { return $this->model->when(get_subsite_id()>0,function($query){ $query->whereHas('subsite', function ($query) { $query->where('subsite_id', get_subsite_id()); }); })->when($search_type == 'jobs',function($query) use ($key){ $query->whereHas('putJobs',function($query) use ($key){ $query->whereHas('jobs',function($query) use ($key){ $query->where('jobs_name','like', '%'.$key.'%')->where('audit',1)->where('display',1); })->whereHas('jobfair_company',function ($query){ $query->where('audit',1); }); }); })->when($search_type == 'company',function($query) use ($key){ $query->whereHas('jobfairCompany',function($query) use ($key){ $query->whereHas('companys',function($query) use ($key){ $query->where('companyname','like', '%'.$key.'%'); }); }); }) ->where($where)->Where(function ($query) use ($where) { $query->where('showendtime', 0)->orWhere('showendtime', '>=', time()); })->orderBy('predetermined_status', 'asc')->orderBy('ordid', 'desc')->orderBy('predetermined_end', 'desc')->offset($page*$pageCount)->limit($pageCount)->get(); } public function Aioalljobfair($page) { return $this->model->when(get_subsite_id()>0,function($query){ $query->whereHas('subsite', function ($query) { $query->where('subsite_id', get_subsite_id()); }); })->Where(function ($query) { $query->where('showendtime', 0)->orWhere('showendtime', '>=', time()); })->orderBy('predetermined_status', 'asc')->orderBy('ordid', 'desc')->orderBy('predetermined_end', 'desc')->paginate($page); } public function findOne($where) { return $this->model->with('jobfairCompany')->where($where)->where(function ($query) use ($where) { $query->where('showendtime', '>=', time())->orWhere('showendtime', 0); })->first(); } public function getJobfairList($com_id) { return $this->model->with(['jobfairCompany'=>function ($query) use ($com_id){ $query->where('company_id',$com_id); }])->where(function ($query) { $query->where('showendtime', '>=', time())->orWhere('showendtime', 0); })->where(['display'=>1])->orderBy('predetermined_status', 'asc')->orderBy('ordid', 'desc') ->orderBy('predetermined_end', 'desc')->paginate(10); } public function getBlacklistCompany() { return $this->model->whereHas('jobfairCom',function ($query) { $query->where('type', 0)->where('black_status', 0)->where('audit', 1)->where('created_at', '>', date('Y-m-d H:i:s', strtotime('-30 days'))); })->where('holddate_end', '<', time())->get(); } //允许预定的招聘会 public function getJobfairOpen() { return $this->model->where('predetermined_status', 1)->get(); } //正在开启的招聘会 public function getOpenJobfair($where = []) { return $this->model->where($where)->get(); } //正在开启的招聘会 public function getOneOpenJobfair($where = []) { return $this->model->where($where)->first(); } //企业预定开启的招聘会 public function getCompanyOpenJobfair($where = [],$company_where) { return $this->model->whereHas('jobfairCompany',function ($query) use ($company_where) { $query->where($company_where); })->where($where)->get(); } //正在开启的招聘会 public function getOneCompanyOpenJobfair($where = [],$company_where) { return $this->model->whereHas('jobfairCompany',function ($query) use ($company_where) { $query->where($company_where); })->where($where)->first(); } public function getJobfairs($where = array(), $order = array(), $limit = '') { $rst = $this->model->when(get_subsite_id()>0,function($query){ $query->whereHas('subsite', function ($query) { $query->where('subsite_id', get_subsite_id()); }); })->where($where)->where(function ($query) { $query->where('showendtime', 0)->orWhere('showendtime', '>=', time()); }); if ($order) { if (is_array($order)) { foreach ($order as $k => $v) { $rst->orderBy($k, $v); } } else { $rst->orderbyRaw($order); } } if ($limit) { $rst->limit($limit); } return $rst->get(); } public function getJobfairNum($where) { return $this->model->where($where)->count(); } public function getStatisticsJobfairs($where) { return $this->model->withTrashed()->where($where)->get(); } }