如何在 Laravel 5 的 Eloquent ORM 中使用 LIKE 執行不區分大小寫的搜尋?

Linda Hamilton
發布: 2024-10-25 07:13:28
原創
221 人瀏覽過

How to Perform Case-Insensitive Searches with LIKE in Laravel 5's Eloquent ORM?

Laravel-5 'LIKE' 等效項(Eloquent)

使用Laravel 5 的Eloquent ORM 搜尋資料庫記錄時,where 方法可以與LIKE 運算子一起使用執行不區分大小寫的比較。然而,Laravel 中此運算子的語法與標準 SQL LIKE 語法不同。

問題:

開發人員正在嘗試使用 Laravel 5 的 Eloquent 執行以下查詢ORM:

BookingDates::where('email', Input::get('email'))->orWhere('name', 'like', Input::get('name'))->get()
登入後複製

但是,沒有回傳任何結果。開發人員不確定為什麼 orWhereLike 子句不符合任何結果。

答案:

orWhereLike 語法接受兩個參數:要搜尋的列名和搜尋內容學期。在本例中,將在 name 欄位中搜尋包含由 Input::get('name') 指定的使用者輸入的值。

但是,提供的程式碼使用 orWhere 方法,而不是 orWhereLike 方法。要使用LIKE 執行不區分大小寫的搜索,正確的語法是:

orWhere('name', 'like', '%' . Input::get('name') . '%')
登入後複製

此程式碼將產生以下MySQL 語句:

SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%John%'
登入後複製

透過使用百分號(%)在搜尋字詞中,查詢將符合名稱列包含指定字串的任何記錄,無論其在列值中的位置為何。

以上是如何在 Laravel 5 的 Eloquent ORM 中使用 LIKE 執行不區分大小寫的搜尋?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!