getTable(); } public function orders() { return $this->hasMany(Order::class, 'uid', 'id'); } public function service() { return $this->hasMany(Service::class, 'uid', 'id'); } public function imgs() { return $this->hasMany(CompanyImg::class, 'company_id'); } public function membersSetmeal() { return $this->hasOne(MembersSetmeal::class, 'uid'); } public function membersPoints() { return $this->hasOne(MembersPoint::class, 'uid'); } public static function companyAudit($id, $data) { return Company::whereIn('id', $id)->update($data); } public function promotion() { return $this->belongsTo(Promotion::class, 'id'); } public function getTagAttribute($value) { return explode(',', $value); } public function setTagAttribute($value) { $this->attributes['tag'] = implode(',', $value); } public function resumes() { return $this->belongsToMany(Resume::class, 'company_favorites', 'company_id', 'resume_id')->withTimestamps(); } public function subsites() { return $this->belongsTo(Subsite::class, 'subsite_id'); } public function companyConsultant() { return $this->hasOne(CompanyConsultant::class,'company_id','id'); } public function toSearchableArray() { $arr=$this->load(['membersSetmeal'])->toArray(); $arr['district'] = string_to_array('.', $arr['district']); $arr['district_cn'] = string_to_array('/', $arr['district_cn']); $arr['trade_cn'] = get_category($arr['trade']); foreach ($arr['tag'] as $key => $val) { $arr['tag'][$key] = (int)$val; } foreach ($arr['tag'] as $key => $val) { $arr['tag_cn'][$key] =get_category($val); } $arr['scale_cn'] = get_category($arr['scale']); $arr['nature_cn'] = get_category($arr['nature']); $arr['location'] = [ 'lat'=>is_numeric($arr['map_y'])?$arr['map_y']:0, 'lon'=>is_numeric($arr['map_y'])?$arr['map_y']:0 ]; $arr['subsite_ids'] = [$arr['subsite_id']]; $audit_num = $this->job()->where(['valid'=>1,'audit'=>1,'display'=>1])->count(); $wait_audit_num = $this->job()->where(['valid'=>1,'audit'=>2,'display'=>1])->count(); $arr['job_audit_num'] = $audit_num; $arr['job_wait_num'] = $wait_audit_num; $arr['job_sum_num'] = (int)$wait_audit_num + (int)($audit_num); $new_refresh_job = $this->job()->where(['audit'=>1,'valid'=>1,'display'=>1])->orderBy('refresh_time', 'desc')->first(); if ($new_refresh_job) { $arr['job_new_refresh'] = $new_refresh_job->refresh_time; } else { $arr['job_new_refresh'] = null; } unset($arr['password']); unset($arr['remember_token']); unset($arr['map_x']); unset($arr['map_y']); unset($arr['map_zoom']); unset($arr['map_open']); return $arr; } }