Laravel에서 고유 유효성 검사 규칙은 지정된 데이터베이스 열에 있는 값의 고유성을 보장합니다. 그러나 여러 열을 처리할 때 결합된 고유성을 검증하는 것은 간단하지 않습니다.
질문을 고려하면 서버 테이블에 ip와 호스트 이름이라는 두 개의 열이 있습니다. 특정 IP 값을 가진 새 레코드가 기존 호스트 이름 값과 함께 테이블에 아직 존재하지 않는지 확인하려면 Rule::unique를 활용하면 됩니다.
다음 코드 조각은 원하는 유효성 검사를 달성하는 방법을 보여줍니다. :
<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>
이 유효성 검사 규칙은 동일한 IP 및 호스트 이름 조합을 가진 레코드가 서버 테이블에 이미 존재하는지 확인합니다. 그렇다면 $messages에 지정된 사용자 정의 메시지에 따라 오류 메시지를 반환합니다. where 클로저를 정의함으로써 고유성에 대한 정확한 조건을 지정하여 IP 및 호스트 이름 값이 모두 고려되도록 할 수 있습니다.
위 내용은 Laravel에서 여러 열의 고유성을 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!