最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Laravel中unique和exists驗證規(guī)則的優(yōu)化詳解

 更新時間:2018年01月28日 09:58:26   作者:Hayden Zhou  
這篇文章主要給大家介紹了關(guān)于Laravel中unique和exists驗證規(guī)則的優(yōu)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

Laravel提供了多種方法來驗證應(yīng)用輸入數(shù)據(jù)。默認情況下,Laravel的控制器基類使用ValidatesRequests trait,該trait提供了便利的方法通過各種功能強大的驗證規(guī)則來驗證輸入的HTTP請求。

Laravel中通過ValidatesRequests這個trait來驗證requests非常的方便,并且在BaseController類中它被自動的引入了。 exitsts()和unique()這兩個規(guī)則非常的強大和便利。

它們在使用的過程中需要對數(shù)據(jù)庫中已有的數(shù)據(jù)進行驗證,通常它們會像下面這樣來寫:

// exists example
'email' => 'exists:staff,account_id,1'
// unique example
'email' => 'unique:users,email_address,$user->id,id,account_id,1'

上面這種寫法的語法很難記,我們幾乎每次使用時,都不得不去查詢一下文檔。但是從 Laravel 的5.3.18版本開始這兩個驗證規(guī)則都可以通過一個新的Rule類來簡化。

我們現(xiàn)在可以使用下面這樣的熟悉的鏈?zhǔn)秸Z法來達到相同的效果:

'email' => [
 'required',
 Rule::exists('staff')->where(function ($query) {
 $query->where('account_id', 1);
 }),
],
'email' => [
 'required',
 Rule::unique('users')->ignore($user->id)->where(function ($query) {
 $query->where('account_id', 1);
 })
],

這兩個驗證規(guī)則還都支持下面的鏈?zhǔn)椒椒ǎ?/p>

  • where
  • whereNot
  • whereNull
  • whereNotNull

unique驗證規(guī)則除此之外還支持ignore方法,這樣在驗證的時候可以忽略特定的數(shù)據(jù)。

好消息是現(xiàn)在仍然完全支持舊的寫法,并且新的寫法實際上就是通過formatWheres方法在底層將它轉(zhuǎn)換成了舊的寫法:

protected function formatWheres()
{
 return collect($this->wheres)->map(function ($where) {
 return $where['column'].','.$where['value'];
 })->implode(',');
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 老生常談PHP面向?qū)ο笾钅J?必看篇)

    老生常談PHP面向?qū)ο笾钅J?必看篇)

    下面小編就為大家?guī)硪黄仙U凱HP面向?qū)ο笾钅J?必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Laravel 不同生產(chǎn)環(huán)境服務(wù)器的判斷實踐

    Laravel 不同生產(chǎn)環(huán)境服務(wù)器的判斷實踐

    這篇文章主要介紹了Laravel 不同生產(chǎn)環(huán)境服務(wù)器的判斷實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • php獲得文件夾下所有文件的遞歸算法的簡單實例

    php獲得文件夾下所有文件的遞歸算法的簡單實例

    下面小編就為大家?guī)硪黄猵hp獲得文件夾下所有文件的遞歸算法的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • PHP把網(wǎng)頁保存為word文件的三種方法

    PHP把網(wǎng)頁保存為word文件的三種方法

    最近工作遇到關(guān)于生成word的問題,現(xiàn)在總結(jié)一下生成word的三種方法的相關(guān)資料,需要的朋友可以參考下
    2014-04-04
  • laravel實現(xiàn)查詢最后執(zhí)行的一條sql語句的方法

    laravel實現(xiàn)查詢最后執(zhí)行的一條sql語句的方法

    今天小編就為大家分享一篇laravel實現(xiàn)查詢最后執(zhí)行的一條sql語句的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • php獲取字段名示例分享

    php獲取字段名示例分享

    這篇文章主要介紹了php獲取字段名示例,需要的朋友可以參考下,代碼很簡單,下面直接上代碼了
    2014-03-03
  • Yii中Model(模型)的創(chuàng)建及使用方法

    Yii中Model(模型)的創(chuàng)建及使用方法

    這篇文章主要介紹了Yii中Model(模型)的創(chuàng)建及使用方法,結(jié)合實例形式較為詳細的分析了Yii中模型的基本創(chuàng)建技巧,使用方法及相關(guān)注意事項,需要的朋友可以參考下
    2015-12-12
  • CI框架中cookie的操作方法分析

    CI框架中cookie的操作方法分析

    這篇文章主要介紹了CI框架中cookie的操作方法,實例分析了CI框架操作cookie的三種常見方法,以及自定義擴展核心控制器類的實例加以分析說明,非常具有實用價值的技巧,需要的朋友可以參考下
    2014-12-12
  • php微信開發(fā)之谷歌測距

    php微信開發(fā)之谷歌測距

    這篇文章主要為大家詳細介紹了php微信開發(fā)之谷歌測距的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • ThinkPHP模板替換與系統(tǒng)常量及應(yīng)用實例教程

    ThinkPHP模板替換與系統(tǒng)常量及應(yīng)用實例教程

    這篇文章主要介紹了ThinkPHP模板替換與系統(tǒng)常量及應(yīng)用,是很重要的概念,需要的朋友可以參考下
    2014-08-08

最新評論

抚顺市| 揭阳市| 永清县| 专栏| 威海市| 铜梁县| 吴堡县| 黄梅县| 确山县| 梁山县| 五河县| 仁怀市| 泾川县| 城步| 武宣县| 通州区| 乐陵市| 花垣县| 甘孜| 涿鹿县| 永宁县| 阿克陶县| 安岳县| 兰西县| 太湖县| 白朗县| 嵩明县| 鹤庆县| 阳原县| 赣州市| 封丘县| 博兴县| 堆龙德庆县| 霍州市| 呼和浩特市| 松江区| 汾阳市| 温州市| 靖宇县| 罗田县| 沾益县|