Laravel ORM where中加入括號

閱讀時間約 1 分鐘
直接從程式碼來看,假設code這樣寫:
$this->customer->select(['id'])
->where('cell_1', '=', $cell_1)
->orWhere(function ($query) use ($cell_2) {
 $query->whereNotNull('cell_2');
 $query->where('cell_2', '=', $cell_2);
})
->orWhere('email', '=', $email)
->get()->first();

轉換成SQL其實就是這樣:
select `id` from `customer` where `cell_1` = ? or (`cell_2` is not null and `cell_2` = ?) or `email` = ?
加入括號其實就是使用閉包的寫法!
本筆記參考:
1. https://www.weiyuan.com.tw/article/25
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
21會員
161內容數
留言0
查看全部
發表第一個留言支持創作者!
Vic Lin的沙龍 的其他內容
在Model中常看到這兩個屬性fillable, guarded: protected $fillable=['name','job']; protected $guarded=['user_id']; 其中guarded是黑名單的意思,fillable則是白名單。 這兩個屬性是用來設定是否允許批量
使用者第三方登入如何發送JWT token呢? 以google登入為例,大致上邏輯會是這樣: E 若是DB已有user的資料,從DB table抓出目前登入的user row data,來產生token,並將token回傳給前端。 若沒有資料則把資料存到DB,一樣產生token回傳。 只不過範例中是
建立一個link將public/storage連結至storage/app/public: $ php artisan storage:link 一般我們會把public資源都放在project的public下,如css, js, upload files等等,由於linux virtual
如上篇,只能拿到基本的資料,如姓名、email、大頭貼等等。 想取得更詳細的資料,如年齡、性別、電話等等,則需透過Google People API來取得,PHP的話有Google APIs Client Library for PHP可以使用。 以Laravel為例: 先安裝google api
GCP: API和服務 -> 資訊主頁 -> +啟用API和服務 搜尋google+ 啟用: 設定 OAuth 同意畫面: 選擇外部後,開始填寫資料: 建立憑證: 假如有多個應用程式平台,如網頁、app,都要各自建立OAuth用戶。 已授權的重新導向URI: 使用者透過 G
紀錄一下Laravel好用的validator。 E 本筆記參考: 1. https://stackoverflow.com/questions/31539727/laravel-password-validation-rule
在Model中常看到這兩個屬性fillable, guarded: protected $fillable=['name','job']; protected $guarded=['user_id']; 其中guarded是黑名單的意思,fillable則是白名單。 這兩個屬性是用來設定是否允許批量
使用者第三方登入如何發送JWT token呢? 以google登入為例,大致上邏輯會是這樣: E 若是DB已有user的資料,從DB table抓出目前登入的user row data,來產生token,並將token回傳給前端。 若沒有資料則把資料存到DB,一樣產生token回傳。 只不過範例中是
建立一個link將public/storage連結至storage/app/public: $ php artisan storage:link 一般我們會把public資源都放在project的public下,如css, js, upload files等等,由於linux virtual
如上篇,只能拿到基本的資料,如姓名、email、大頭貼等等。 想取得更詳細的資料,如年齡、性別、電話等等,則需透過Google People API來取得,PHP的話有Google APIs Client Library for PHP可以使用。 以Laravel為例: 先安裝google api
GCP: API和服務 -> 資訊主頁 -> +啟用API和服務 搜尋google+ 啟用: 設定 OAuth 同意畫面: 選擇外部後,開始填寫資料: 建立憑證: 假如有多個應用程式平台,如網頁、app,都要各自建立OAuth用戶。 已授權的重新導向URI: 使用者透過 G
紀錄一下Laravel好用的validator。 E 本筆記參考: 1. https://stackoverflow.com/questions/31539727/laravel-password-validation-rule
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
Simple Storage Service (S3) 是 AWS 最常應用到的服務,只要是需要將檔案上傳到雲端的狀況都可以使用S3,本篇文章將介紹如何設定與使用AWS S3。
Thumbnail
在使用laravel中的Queue job的時候 如果希望job中斷還可以重新啟動這個時候就會需要用到Supervisor了 本篇文章為您帶來如何使用Supervisor執行Laravel的queue:work的教學
Thumbnail
有的時候,會希望在物件導向中對原生的Class新增功能的時候,大多我們都會寫一個新的class並繼承。 但是其實Laravel提供了一個不同的方式,讓我們可以在常用的Class上,直接新增想要的function,那就是macro。
Migration在 Laravel 中是一種用來管理資料庫結構變更的機制。它的主要目的是使開發者能夠在應用程序的不同環境中保持資料庫結構的一致性,並輕鬆地進行結構變更
Thumbnail
待業中後,發現時間變很多就開始東看看西看看,思考著要如何更深入理解Laravel框架的運用,而在Laravel框架中哪些部分是框架替我們做了哪些處理,推薦一個影片給大家一起學習理解。
Thumbnail
我拾起一只玻璃瓶 從那條靜靜的河流裡 河水浸濕了我的袖緣 我扭開了那只玻璃瓶 在那煙硝瀰漫的河岸邊 瓶蓋劃傷了我的指尖 飛灰伴著鮮血掉落瓶裡面 瓶裡的花兒早已凋謝 那曾經是某人對於某人的思念 此刻正如這朵花兒一樣消逝枯萎 我的血給那枯黃抹上了紅 塵灰如降雪般給添上了白 袖旁落下的水滴給潤了葉 花兒甦
Thumbnail
Ted Gioia 媒體顧問評論長尾效應,原文翻譯:「長尾」理應是要提升音樂、電影、書籍的各種另類可能——但相反的事情已發生
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
Thumbnail
Simple Storage Service (S3) 是 AWS 最常應用到的服務,只要是需要將檔案上傳到雲端的狀況都可以使用S3,本篇文章將介紹如何設定與使用AWS S3。
Thumbnail
在使用laravel中的Queue job的時候 如果希望job中斷還可以重新啟動這個時候就會需要用到Supervisor了 本篇文章為您帶來如何使用Supervisor執行Laravel的queue:work的教學
Thumbnail
有的時候,會希望在物件導向中對原生的Class新增功能的時候,大多我們都會寫一個新的class並繼承。 但是其實Laravel提供了一個不同的方式,讓我們可以在常用的Class上,直接新增想要的function,那就是macro。
Migration在 Laravel 中是一種用來管理資料庫結構變更的機制。它的主要目的是使開發者能夠在應用程序的不同環境中保持資料庫結構的一致性,並輕鬆地進行結構變更
Thumbnail
待業中後,發現時間變很多就開始東看看西看看,思考著要如何更深入理解Laravel框架的運用,而在Laravel框架中哪些部分是框架替我們做了哪些處理,推薦一個影片給大家一起學習理解。
Thumbnail
我拾起一只玻璃瓶 從那條靜靜的河流裡 河水浸濕了我的袖緣 我扭開了那只玻璃瓶 在那煙硝瀰漫的河岸邊 瓶蓋劃傷了我的指尖 飛灰伴著鮮血掉落瓶裡面 瓶裡的花兒早已凋謝 那曾經是某人對於某人的思念 此刻正如這朵花兒一樣消逝枯萎 我的血給那枯黃抹上了紅 塵灰如降雪般給添上了白 袖旁落下的水滴給潤了葉 花兒甦
Thumbnail
Ted Gioia 媒體顧問評論長尾效應,原文翻譯:「長尾」理應是要提升音樂、電影、書籍的各種另類可能——但相反的事情已發生