Menggunakan 'LIKE' Setara dengan Laravel-5's Eloquent
Apabila cuba mendapatkan data daripada pangkalan data menggunakan Laravel-5, pengguna mungkin menghadapi kesukaran menggunakan kaedah orWhereLike untuk memadankan hasil. Untuk memahami isu ini, mari kita terokai penyataan MySQL bersamaan dengan kod yang disediakan:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', Input::get('name')) ->get()
Kod ini diterjemahkan kepada penyataan MySQL berikut:
<code class="sql">select * from booking_dates where email='[email protected]' or name like 'John'</code>
Walau bagaimanapun, penyataan MySQL yang dijangkakan harus kelihatan seperti:
<code class="sql">select * from booking_dates where email='[email protected]' or name like '%John%'</code>
Untuk menyelesaikan percanggahan ini dan mencapai padanan yang diingini, gunakan kod berikut:
<code class="php">BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', '%' . Input::get('name') . '%') ->get();</code>
Kod yang diubah suai ini memastikan tanda peratusan (%) ditambahkan pada permulaan dan akhir nama input, membenarkan padanan separa.
Selain itu, ingat bahawa jika anda ingin memeriksa pertanyaan yang dijana oleh Laravel, anda boleh menggunakan arahan berikut:
<code class="php">dd(DB::getQueryLog())</code>
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Padanan Separa menggunakan `orWhereLike` dalam Laravel-5 Eloquent?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!