Bagaimana untuk Melaksanakan Carian Tidak Peka Huruf dengan LIKE dalam ORM Fasih Laravel 5?

Linda Hamilton
Lepaskan: 2024-10-25 07:13:28
asal
272 orang telah melayarinya

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

Laravel-5 'LIKE' Equivalent (Eloquent)

Apabila mencari rekod pangkalan data menggunakan Laravel 5's Eloquent ORM, kaedah di mana boleh digunakan dengan operator LIKE untuk melakukan perbandingan tidak peka huruf besar-besaran. Walau bagaimanapun, sintaks untuk operator ini dalam Laravel berbeza daripada sintaks SQL LIKE standard.

Soalan:

Seorang pembangun sedang cuba melaksanakan pertanyaan berikut menggunakan Laravel 5's Eloquent ORM:

BookingDates::where('email', Input::get('email'))->orWhere('name', 'like', Input::get('name'))->get()
Salin selepas log masuk

Walau bagaimanapun, tiada keputusan dikembalikan. Pembangun tidak pasti mengapa klausa orWhereLike tidak sepadan dengan mana-mana hasil.

Jawapan:

Sintaks orWhereLike menerima dua argumen: nama lajur yang akan dicari dan carian istilah. Dalam kes ini, lajur nama sedang dicari untuk nilai yang mengandungi input pengguna yang ditentukan oleh Input::get('name').

Walau bagaimanapun, kod yang disediakan menggunakan kaedah orWhere, bukan kaedah orWhereLike . Untuk melakukan carian tidak peka huruf besar-besaran menggunakan LIKE, sintaks yang betul ialah:

orWhere('name', 'like', '%' . Input::get('name') . '%')
Salin selepas log masuk

Kod ini akan menghasilkan pernyataan MySQL berikut:

SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%John%'
Salin selepas log masuk

Dengan menggunakan tanda peratusan (%) dalam istilah carian, pertanyaan akan memadankan sebarang rekod yang lajur nama mengandungi rentetan yang ditentukan, tanpa mengira kedudukannya dalam nilai lajur.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Carian Tidak Peka Huruf dengan LIKE dalam ORM Fasih Laravel 5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan