>  기사  >  PHP 프레임워크  >  laravel이 고유한지 확인하는 방법

laravel이 고유한지 확인하는 방법

PHPz
PHPz원래의
2023-04-23 09:14:471146검색

Laravel 프레임워크에서는 입력 데이터의 고유성을 확인하는 것이 일반적인 요구 사항입니다. 예를 들어, 사용자의 이메일이나 휴대폰 번호를 확인하여 반복적으로 등록되지 않도록 하십시오.

Laravel은 고유한 매우 편리한 확인 규칙을 제공합니다. 양식을 제출할 때 규칙에 고유:테이블,열만 추가하면 됩니다. 예:

'username' => 'required|unique:users,username|max:255',
'email' => 'required|unique:users,email|max:255|email',

위 코드에서 고유 규칙은 고유성 확인 테이블 사용자와 필드 사용자 이름 또는 이메일을 지정합니다. 다른 사용자는 이를 사용하지 않습니다. 동일한 사용자 이름 또는 이메일.

그러나 실제 적용에서는 고유한 규칙이 우리의 요구를 완전히 충족시키지 못합니다. 예를 들어, 데이터 조각을 업데이트할 때 업데이트 중인 값이 이미 데이터베이스에 존재하기 때문에 원래 고유성 확인 규칙에서 오류를 보고할 수 있습니다.

이 문제를 해결하기 위해 Laravel은 제외라는 추가 매개변수를 제공합니다. 예:

'username' => 'required|unique:users,username,' . $userId . ',id|max:255',

위 코드에서 $userId는 업데이트할 현재 사용자 ID를 나타냅니다. 고유 규칙에서 제외 매개변수를 사용하여 고유성을 확인할 때 현재 사용자를 제외하도록 Laravel에 지시합니다.

exclude 매개변수 외에도 Laravel은 다른 열에 대한 조건을 지정하기 위해 other_columns 매개변수도 제공합니다. 예:

'username' => Rule::unique('users')
    ->where(function ($query) use ($other_column_value) {
        return $query->where('other_column', $other_column_value);
    })
    ->ignore($userId),

위 코드에서는 Rule 클래스와 where 메소드를 사용하여 다른 열에 대한 조건을 정의하여 고유성 확인이 지정된 조건에 의해서만 제한되도록 합니다. 무시 방법은 현재 사용자를 제외하는 데에도 사용됩니다.

요약하자면, Laravel에서 고유성을 검증할 때 다음 사항에 주의해야 합니다.

  1. 현재 데이터의 영향을 제외하려면 고유 규칙의 제외 매개변수를 사용하세요.
  2. Rule 클래스와 where 메소드를 사용하여 다른 열에 대한 조건을 정의하면 고유성 확인이 다른 열의 영향을 받지 않도록 할 수 있습니다.

위 기술을 사용하면 데이터의 고유성을 보다 유연하게 검증하고 데이터의 무결성과 정확성을 보장할 수 있습니다.

위 내용은 laravel이 고유한지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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