>  기사  >  백엔드 개발  >  Laravel에서 Rule::unique를 사용하여 다중 열 고유 유효성 검사를 구현하는 방법은 무엇입니까?

Laravel에서 Rule::unique를 사용하여 다중 열 고유 유효성 검사를 구현하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-29 05:21:021039검색

How to Implement Multi-Column Unique Validation Using Rule::unique in Laravel?

Laravel의 다중 열 고유 유효성 검사를 위한 규칙::unique 활용

Laravel 애플리케이션에는 "servers"라는 테이블이 있습니다. "ip"와 "hostname"이라는 두 개의 열이 있습니다. 이 두 열의 조합이 고유한지 확인하여 중복 항목을 방지하려고 합니다. "ip" 열에 대한 유효성 검사 규칙을 이미 구현했지만 "hostname" 열도 포함하도록 이 논리를 확장하는 것이 목표입니다.

이러한 다중 열 고유 유효성 검사를 수행하려면 Laravel의 규칙::고유 방법. 확인 규칙의 수정된 버전은 다음과 같습니다.

<code class="php">$messages = [
    'data.ip.unique' => 'Given ip and hostname are not unique',
];

Validator::make($data, [
    'data.ip' => [
        'required',
        Rule::unique('servers')
            ->where(function ($query) use ($ip, $hostname) {
                return $query->where('ip', $ip)
                    ->where('hostname', $hostname);
            }),
    ],
], $messages);</code>

설명:

  • Rule::unique('servers') : 유효성 검사 규칙이 "서버" 테이블에 적용되어야 함을 지정합니다.
  • 여기서: 추가 기준에 따라 고유 검사를 필터링하는 데 사용됩니다. 이 경우 "ip" 및 "hostname" 열을 모두 기준으로 필터링합니다.
  • $ip** 및 **$hostname: 이러한 변수에는 사용자가 설정한 값이 포함된 것으로 가정됩니다.
  • $messages: 유효성 검사가 실패할 때 표시되는 오류 메시지를 사용자 정의할 수 있는 선택적 배열입니다.

이 업데이트된 유효성 검사 규칙 "ip"와 "hostname" 값의 조합이 "servers" 테이블에서 고유하도록 보장하여 동일한 IP 및 호스트 이름을 가진 중복 항목을 효과적으로 방지합니다.

위 내용은 Laravel에서 Rule::unique를 사용하여 다중 열 고유 유효성 검사를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.