Pembina Pertanyaan Laravel 5: Setara Sintaks 'LIKE'
Dalam Laravel 5, pengendali LIKE dalam pertanyaan Eloquent diwakili oleh 'whereLike ()' kaedah. Walau bagaimanapun, sesetengah pengguna menghadapi kesukaran menggunakan kaedah 'orWhereLike()' untuk menggabungkan klausa LIKE.
MySQL Equivalent
Kaedah 'orWhereLike()' akan menjana pertanyaan MySQL dalam format berikut:
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%[name]%'
Padanan Keputusan
Kod yang disediakan dalam soalan:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', Input::get('name')) ->get()
Tidak akan sepadan dengan sebarang hasil kerana keadaan 'nama' tiada aksara kad bebas, yang diperlukan untuk menunjukkan separa padan.
Sintaks Betul
Untuk mencapai pertanyaan MySQL yang dimaksudkan, gunakan kod berikut:
BookingDates::where('email', Input::get('email')) ->orWhere('name', 'like', '%' . Input::get('name') . '%') ->get();
Ini akan menjana pertanyaan MySQL yang betul:
SELECT * FROM booking_dates WHERE email='[email protected]' OR name LIKE '%[name]%'
Atas ialah kandungan terperinci Pembina Pertanyaan Laravel 5: Cara Menggunakan `orWhereLike()` dengan Kad Liar dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!