Laravel 校驗規則之字段值唯一性校驗


目錄(?)[+]

laravel validator unique

'name' => 'required|unique:test,display_name,11,age,extra_field,extraValue'

解釋

對於客戶端輸入的 name 字段
  1. name 不能為空

  2. name 字段值在給定的數據庫表中需為唯一值

    // unique 校驗規則
    unique:table,column,except,idColumn
    // 舉個栗子
    unique:test,display_name,11,age,extra_field,extraValue

    test => 數據庫表
    display_name => test 數據表結構中的字段名稱
    11,age => except,idColumn // 表示忽略 test 數據表中 age = 11 的數據記錄
    extra_field,extraValue => 額外的where條件 {
        // 表示上述規則只會為數據庫test表中 extra_field = 'extraValue' 的數據記錄做唯一規則的驗證
    }
    

ps

注意:校驗規則在 laravel 不同版本中有些許變化
舉兩個laravel版本栗子:
    1. Laravel Framework version 5.1.20 (LTS)

      在這個版本里是可以指定數據庫連接

      // _id: 指定的 ID (指定主鍵) 名稱
      ‘email’ => ‘email|unique:mongodb.user,email,’.$uid.’,_id’,

      mongodb.user => [
      mongodb => laravel數據庫配置文件 database.php 配置項 connections 數組里面的mongodb連接
      user => mongodb連接的數據庫里面的集合或者數據表 user
      ]

    2. Laravel Framework version 4.2.17

      但是,在這個版本里面就不能指定數據庫連接,使用laravel默認的數據庫連接,

      所以,估計是 laravel 后面考慮到這個情況在后面的版本加了這個功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM