$relationMethod() ->select('users.id') ->get(); $maxMembers = WireChat::maxGroupMembers(); foreach ($linkedUsers as $linkedUser) { // Stop if we've hit the group member limit if (count($this->selectedMembers) >= $maxMembers) { $this->dispatch('show-member-limit-error'); break; } $user = User::find($linkedUser->id); if (!$user) { continue; } // Skip if already selected if ($this->selectedMembers->contains(fn ($m) => $m->id == $user->id && get_class($m) == get_class($user))) { continue; } $this->selectedMembers->push($user); } } }