二十、PHP框架Laravel学习笔记——模型的作用域
生活随笔
收集整理的這篇文章主要介紹了
二十、PHP框架Laravel学习笔记——模型的作用域
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.本地作用域
PS:我們可以將性別為男這個片段,封裝成一個單獨的方法,然后統一在這個模型下調用;
//App\Http\Models; //本地作用域,搜索自動添加為“男”的條件 //語法:scope 開頭,后面名稱盡可能包含語義 public function scopeGenderMale($query) { return $query->where('gender', '男'); }//當然,如果趕緊單詞太長,直接 gm()也行 $users = User::genderMale() ->where('price', '>', 90) ->get();
二.全局作用域
全局作用域,顧名思義就是在任意地方都可以有效的封裝條件;
比如有個需求,不管在哪里操作,總是顯示 status 為 1 的用戶;
首先在 app 目錄下創建一個用于全局作用域的目錄:Scopes;
創建一個用于設置 status 為 1 的全局作用域的類,它需要實現 scope 接口;
PS:而在控制器端,并不需要做任何設置,即可自動添加 status=1 的條件;
PS:注意 Builder 引入的文件和全局類引入的文件一致,如果引入別的同名類會錯;
PS:還有 withoutGlobalScopes([])方法,傳遞參數取消多個全局;
總結
以上是生活随笔為你收集整理的二十、PHP框架Laravel学习笔记——模型的作用域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Packet Tracer 5.0 建构
- 下一篇: python网络爬虫系列(四)——req