是 0->否) * @property int|null $def 是否为默认简历(1:是 0:否) * @property int|null $mobile_audit 手机是否认证(1:是 0:否) * @property string|null $comment_content 简历评论内容 * @property int|null $is_quick 快速创建简历(0:否 1:是) * @property string|null $idcard 身份证 * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at * @property-read \App\Models\Member $members * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume newQuery() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume query() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereAudit($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereBirthdate($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereClick($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereCommentContent($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereCompletePercent($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereCurrent($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereCurrentCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereDef($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereDisplay($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereDisplayName($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereDistrict($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereDistrictCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereEducation($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereEducationCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereEmail($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereEmailNotify($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereEntrust($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereExperience($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereExperienceCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereFullname($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereHeight($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereHouseholdaddress($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereIdcard($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereIntentionJobs($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereIntentionJobsId($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereIsQuick($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereKeyFull($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereKeyPrecise($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereLevel($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereMajor($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereMajorCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereMarriage($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereMarriageCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereMobileAudit($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereNature($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereNatureCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume wherePhoto($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume wherePhotoAudit($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume wherePhotoDisplay($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume wherePhotoImg($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereQq($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereRemark($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereResidence($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereResumeFromPc($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereSex($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereSexCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereSpecialty($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereStick($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereStime($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereStrongTag($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereSubsiteId($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereTag($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereTagCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereTalent($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereTelephone($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereTitle($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereTpl($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereTrade($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereTradeCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereUid($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereWage($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereWageCn($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereWeixin($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereWordResume($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereWordResumeAddtime($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Resume whereWordResumeTitle($value) * @mixin \Eloquent */ class Resume extends Model { use SoftDeletes, ResumeSearchable; protected $guarded = []; public function members() { return $this->belongsTo(Member::class, 'uid'); } public function memberInfos() { return $this->belongsTo(MemberInfo::class, 'uid', 'uid'); } public function resumeEntrusts() { return $this->hasOne(ResumeEntrust::class, 'resume_id', 'id'); } public function companys() { return $this->belongsToMany(Company::class, 'company_favorites', 'resume_id', 'company_id')->withTimestamps(); } public function resumeEducation() { return $this->hasMany(ResumeEducation::class, 'resume_id'); } public function resumeWork() { return $this->hasMany(ResumeWork::class, 'resume_id'); } public function resumeTrain() { return $this->hasMany(ResumeTrain::class, 'resume_id'); } public function resumeCredent() { return $this->hasMany(ResumeCredent::class, 'resume_id'); } public function resumeLanguage() { return $this->hasMany(ResumeLanguage::class, 'resume_id'); } public function resumeImgs() { return $this->hasMany(ResumeImg::class, 'resume_id','id'); } public function personTag() { return $this->hasOne(PersonalServiceTagLog::class, 'resume_id')->where('endtime', '>', time()); } public function subsites() { return $this->belongsToMany(Subsite::class, 'subsite_resumes', 'resume_id', 'subsite_id'); } public function subsiteResume() { return $this->hasMany(SubsiteResume::class, 'resume_id', 'id'); } public function subsite() { return $this->belongsTo(Subsite::class,'subsite_id','id'); } public function toSearchableArray() { $resume=$this->load([ 'memberInfos', 'resumeEducation', 'resumeWork', 'resumeTrain', 'resumeCredent', 'resumeLanguage', 'subsiteResume', ])->toArray(); $resume['stick']=$resume['stick']?$resume['stick']:0; $resume['stime']=$resume['stime']?$resume['stime']:0; $resume['mobile_audit']=$this->members->mobile_audit; $resume['photo']=$this->memberInfos->photo; $resume['photo_audit']=$this->memberInfos->photo_audit; $resume['trade']=string_to_array(',', $resume['trade']); $resume['trade_cn']=string_to_array('+', $resume['trade_cn']); $resume['district']=string_to_array(['.',','], $resume['district']); $new_dis = []; foreach ($resume['district'] as $key => $val) { if ($val==0 && $key != 1&&$key != 4 &&$key != 7) { $new = CategoryDistrict::where('parent_id', $resume['district'][$key-2])->pluck('id')->toArray(); foreach ($new as $key2) { $new_dis[] = $key2; } unset($resume['district'][$key]); } } $resume['district'] = array_merge($resume['district'], $new_dis); $resume['district_cn']=string_to_array('+', $resume['district_cn']); $resume['tag']=string_to_array(',', $resume['tag']); $resume['tag_cn']=string_to_array(',', $resume['tag_cn']); $resume['intention_jobs_id']=string_to_array(['.',','], $resume['intention_jobs_id']); $new_jobs = []; foreach ($resume['intention_jobs_id'] as $key => $val) { if ($val==0) { $new = CategoryJobs::where('parent_id', $resume['intention_jobs_id'][$key-1])->pluck('id')->toArray(); foreach ($new as $key2) { $new_jobs[] = $key2; } unset($resume['intention_jobs_id'][$key]); } } $resume['intention_jobs_id'] = array_merge($resume['intention_jobs_id'], $new_jobs); $resume['intention_jobs']=string_to_array('+', $resume['intention_jobs']); $resume['member_infos']['residence']=string_to_array('.', $resume['member_infos']['residence']); $resume['member_infos']['residence_cn']=string_to_array('-', $resume['member_infos']['residence_cn']); $resume['member_infos']['householdaddress']=string_to_array('.', $resume['member_infos']['householdaddress']); $resume['member_infos']['householdaddress_cn']=string_to_array('-', $resume['member_infos']['householdaddress_cn']); $resume['person_shield_companys']=PersonShieldCompany::where('uid', $resume['uid'])->pluck('company_id')->toArray(); $resume['subsite_ids'] = array_column($resume['subsite_resume'], 'subsite_id'); return $resume; } public function getResumeAllInfo() { return $this->load([ 'memberInfos', 'resumeEducation', 'resumeWork', 'resumeTrain', 'resumeCredent', 'resumeLanguage', 'subsiteResume', ]); } static function getTableName() { $obj = new Resume(); return $obj->getTable(); } }