Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggunakan Operator LIKE dengan betul dengan `orWhere` Laravel 5 Eloquent?
Laravel-5 LIKE Equivalent (Fasih) Perbandingan Pertanyaan
Soalan ini meneroka penggunaan operator LIKE dalam pertanyaan pangkalan data dengan Laravel-5 Fasih berkata-kata. Kod yang disediakan:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', Input::get('name'))->get()
bertujuan untuk mendapatkan semula hasil yang sepadan sama ada e-mel yang ditentukan atau yang mengandungi rentetan tertentu dalam medan nama. Walau bagaimanapun, keadaan orWhereLike tidak menghasilkan sebarang hasil.
Niatnya adalah untuk mencipta pertanyaan yang setara dengan:
select * from booking_dates where email='[email protected]' or name like '%John%'
Penyelesaian
Kepada menyelesaikan isu ini, adalah disyorkan untuk menggunakan '%...'% dan bukannya '...' dalam klausa SUKA. Ini memastikan bahawa sebarang rentetan tertentu boleh ditemui dalam medan yang dikehendaki. Sebagai alternatif, anda boleh menggunakan ->whereLike dan bukannya ->orWhereLike untuk sintaks yang lebih bersih:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', '%' . Input::get('name') . '%') ->get();
Pengelogan Pangkalan Data
Jika anda menghadapi sebarang masalah dengan menjana pertanyaan SQL, anda boleh menggunakan fungsi dd(DB::getQueryLog()) untuk memeriksa melaksanakan pertanyaan dan mengenal pasti sebarang kemungkinan ralat. Ini boleh membantu anda menyelesaikan masalah dan memastikan pertanyaan anda berfungsi seperti yang diharapkan.
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Operator LIKE dengan betul dengan `orWhere` Laravel 5 Eloquent?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!