| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305 | <?phpnamespace App\Models;use App\Search\Traits\ResumeSearchable;use Illuminate\Database\Eloquent\SoftDeletes;use Illuminate\Database\Eloquent\Model;/** * App\Models\Resume * * @property int $id * @property int $uid 会员uid * @property int|null $display 是否显示(1:显示 0:不显示) * @property int $display_name 简历名称(1:显示 0:不显示) * @property int|null $audit 简历审核(0:审核不通过 1:待审核 2:审核通过) * @property string|null $remark 审核备注 * @property int|null $stick 是否置顶(0:否 1:是) * @property int|null $strong_tag 醒目标签 * @property string $title 简历标题 * @property string $fullname 真实姓名 * @property int $sex 性别(1:男 2:女) * @property string $sex_cn 性别 * @property int|null $nature 工作性质id * @property string|null $nature_cn 工作性质 * @property string|null $trade 行业id * @property string|null $trade_cn 行业 * @property int $birthdate 生日 * @property string|null $residence 现居住地 * @property int|null $height 身高(cm) * @property int|null $marriage 婚否(1:已婚 2:未婚) * @property string|null $marriage_cn 婚否 * @property int $experience 工作经验id * @property string $experience_cn 工作经验 * @property string $district 地区ID * @property string $district_cn 地区 * @property int $wage 期望薪资id * @property string $wage_cn 期望薪资 * @property string|null $householdaddress 户口所在地 * @property int $education 学历id * @property string $education_cn 学历 * @property int|null $major 专业id * @property string|null $major_cn 专业 * @property int|null $tag 简历标签编号 * @property string|null $tag_cn 简历标签 * @property int $telephone 手机号码 * @property string $email 邮箱 * @property int|null $email_notify 邮件接收通知(1:接收 0:不接受) * @property string $intention_jobs_id 期望职位id * @property string $intention_jobs 期望职位 * @property string|null $specialty 自我描述 * @property int|null $photo 是否为照片简历(0:否 1:是) * @property string|null $photo_img 照片 * @property int|null $photo_audit 照片审核(0:审核失败,1:待审核 2:审核成功) * @property int|null $photo_display 是否显示照片(1:显示 0:不显示) * @property string|null $qq QQ * @property string|null $weixin 微信 * @property int|null $subsite_id 站点 * @property int|null $stime 置顶时间 * @property int|null $entrust 简历委托(天) * @property string|null $talent 高级人才(0:否 1:是) * @property int $level 简历等级(1:优,2:良 0:差) * @property int $complete_percent 简历完整度 * @property int|null $current 求职状态编号 * @property string|null $current_cn 求职状态 * @property string|null $word_resume word简历 * @property string|null $word_resume_title word简历标题 * @property int|null $word_resume_addtime word简历添加时间 * @property string|null $key_full 全文搜索关键字 * @property string|null $key_precise 精确搜索关键字 * @property int|null $click 查看次数 * @property string|null $tpl 简历模板 * @property int|null $resume_from_pc 简历来自PC(1->是 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();    }}
 |