Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencapai Padanan Separa menggunakan `orWhereLike` dalam Laravel-5 Eloquent?

Bagaimana untuk Mencapai Padanan Separa menggunakan `orWhereLike` dalam Laravel-5 Eloquent?

Linda Hamilton
Linda Hamiltonasal
2024-10-25 10:59:02613semak imbas

How to Achieve Partial Matching using `orWhereLike` in Laravel-5 Eloquent?

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!

Kenyataan:
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