首頁  >  文章  >  後端開發  >  如何在 Laravel 5 的 Eloquent ORM 中使用 LIKE 執行不區分大小寫的搜尋?

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

Linda Hamilton
Linda Hamilton原創
2024-10-25 07:13:28222瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn