hasMany(CorporateEmployee::class, 'member_id'); } public function memberPlans() { return $this->hasMany(MemberPlan::class, 'member_id'); } public function plans() { return $this->hasManyThrough(MemberPlan::class, Plan::class, 'member_id', 'plan_id', 'id', 'plan_id'); } public function policies() { return $this->hasMany(MemberPolicy::class, 'member_id', 'member_id'); } public function currentPolicy() { return $this->hasOne(MemberPolicy::class, 'member_id', 'member_id')->where('status', 'active')->latestOfMany(); } public function scopeFilter($query, array $filters) { $query->when($filters['search'] ?? false, function ($query, $search) { return $query ->where('member_id', 'like', "%" . $search . "%") ->orWhere('payor_id', 'like', "%" . $search . "%") ->orWhere('name', 'like', "%" . $search . "%") ; // ->orWhereHas('corporatePlan', function ($query) use ($search) { // $query->where('code', 'like', "%" . $search . "%"); // }); }); } }