laravel exists 및 unique

3629 단어

exists:table,column


필드의 값이 데이터베이스 지정표의 지정열에 존재하는지 확인하십시오. 존재하지 않으면 이상을 던집니다. 이것은 exists 규칙에 관한 것입니다.

기본용법


users 테이블에 전자 메일이 지정한 전자 메일 값과 같은 기록이 있는지 확인하십시오
  • 'email' => 'exists:users'
  • Rule::exists('users')

  • 사용자 정의 열 이름


    users 테이블의 email_ 확인address
  • 'email' => 'exists:users,email_address'
  • Rule::exists('users','email_address')

  • 데이터베이스 연결 사용자 정의


    지정한 데이터베이스 연결을 검증하는users 테이블
  • 'email' => 'exists:connection.users,email'

  • 추가 WHERE 조건(여러 개 가능)


    이메일 확인 제외_address는 role이 관리자와 같다는 것을 검증해야 합니다
  • 'email' => 'exists:users,email_address,role,admin'
  • Rule::exists('users','email_address')->where('role','admin')

  • ! 다르다
  • 'email' => 'exists:users,email_address,role,!admin'
  • Rule::exists('users','email_address')->whereNot('role','admin')

  • NULL은 MySQL에서 IS를 통해 판단되므로 IS를 사용하지 않도록 주의하십시오.
  • 'email' => 'exists:users,email,deleted_at,NULL'
  • Rule::exists('users','email_address')->whereNull('deleted_at')

  • NULL이 아닌 경우에는 사용할 수 없습니다!,NOT_NULL
  • 'email' => 'exists:users,email,deleted_at,NOT_NULL'
  • Rule::exists('users','email_address')->whereNotNull('deleted_at')

  • unique:table,column,except,idColumn


    필드의 값이 데이터베이스 지정표의 지정열에서 유일한지 확인하십시오. 유일하지 않으면 이상이 발생합니다. 이것은 유니버설 규칙에 관한 것입니다.

    기본용법


    지정한 이메일 값이users표의 이메일에서 유일한지 확인하기
  • 'email' => 'unique:users '
  • Rule::unique('users')

  • 사용자 정의 열 이름


    users 테이블의 email_ 확인address
  • 'email' => 'unique:users,email_address'
  • Rule::unique('users','email_address')

  • 데이터베이스 연결 사용자 정의


    지정한 데이터베이스 연결을 검증하는users 테이블
  • 'email' => 'unique:connection.users,email_address'

  • 레코드 제외


    사용자 테이블에서 id가 $userId와 같은 기록을 제외하고, 사용 장면은 사용자가 이메일을 수정할 때, 자신을 제외한 다른 사용자가 이 이메일을 사용했는지 확인해야 합니다.
  • 'email' => 'unique:users,email_address,'.$userId
  • Rule::unique('users','email_address')->ignore($userId)

  • 제외 시 primary_ 지정key


    users 테이블에서 user_ 제외id는 $userId의 레코드와 같습니다.
  • 'email' => 'unique:users,email_address,'.$userId.',user_id'
  • Rule::unique('users','email_address')->ignore($userId,'user_id')

  • 추가 WHERE 조건(exists의 WHERE 조건과 동일)


    제외는 WHERE 조건 이전이므로 WHERE 조건을 지정했지만 제외가 지정되지 않은 경우 세 번째 매개변수를 NULL로 설정해야 합니다.
  • 'email' => 'unique:users,email_address,NULL,id,role,admin'
  • Rule::unique('users','email_address')->where($role,'admin') 밑에 이런 것도 괜찮아요
  •                  
    Rule::unique('user_waters')->where(function ($query) use ($where) {
     return $query->where($where);
     })
    

    좋은 웹페이지 즐겨찾기