checkUserIsAttachable($value); } /** * @return string */ public function message() { return "Cannot add the same user to the same company"; } /** * @param $user_id * @return bool */ private function checkUserIsAttachable($email) : bool { if (empty($email)) { return false; } $user = User::where('email', $email)->first(); if(!$user) return true; $user_already_attached = CompanyUser::query() ->where('user_id', $user->id) ->where('account_id',$user->account_id) ->where('company_id', auth()->user()->company()->id) ->exists(); if($user_already_attached) return false; return true; } }