Laravel: 여러 테이블 열에서 고유한 유효성 검사 달성
조합이 고유하게 유지되어야 하는 여러 열이 포함된 테이블이 포함된 데이터베이스가 있는 시나리오의 경우 , Laravel 애플리케이션에서 이 고유성 제약 조건을 적용해야 합니다.
이러한 예 중 하나는 'ip' 및 'hostname' 열이 있는 'servers' 테이블입니다. 개별 'ip' 또는 '호스트 이름' 값이 여러 번 나타날 수 있더라도 특정 'ip'와 '호스트 이름'의 조합이 고유한지 확인하려고 합니다.
규칙을 사용한 솔루션:: Unique()
이 유효성 검사를 구현하려면 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'와 '호스트 이름'의 중복 조합을 허용하지 않도록 효과적으로 보장할 수 있습니다.
위 내용은 Laravel의 여러 열에 걸쳐 고유한 유효성 검사를 시행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!