


Bagaimana untuk Menghantar Pembolehubah ke dalam Klausa Laravel Advanced Where?
Dec 17, 2024 am 07:01 AMMelalukan Pembolehubah ke dalam Klausa Laravel Advanced Where
Dalam situasi di mana anda perlu menghantar pembolehubah luaran ke dalam klausa lanjutan Laravel, seperti semasa menapis hasil menggunakan yang ditentukan pengguna kriteria carian, sintaks lalai yang disediakan dalam dokumentasi mungkin tidak mencukupi.
Mujurlah, terdapat penyelesaian yang lebih mudah menggunakan kata kunci penggunaan, yang membolehkan anda menangkap pembolehubah daripada skop induk ke dalam penutupan yang mentakrifkan klausa where. Contohnya:
DB::table('users')->where(function($query) use ($searchQuery) { $query->where('name', 'LIKE', '%'.$searchQuery.'%') ->orWhere('address', 'LIKE', '%'.$searchQuery.'%'); });
Dalam contoh ini, pembolehubah $searchQuery dihantar daripada skop induk ke dalam penutupan dan boleh digunakan dalam klausa where. Kata kunci penggunaan memastikan pembolehubah ditangkap melalui rujukan, membolehkannya diakses dan diubah suai dalam penutupan.
Sebagai alternatif, dengan pengenalan fungsi anak panah PHP 7.4, anda boleh mencapai hasil yang sama dengan sintaks yang lebih ringkas:
DB::table('users')->where(fn($query) => $query->where('name', 'LIKE', '%'.$searchQuery.'%') ->orWhere('address', 'LIKE', '%'.$searchQuery.'%'));
Fungsi anak panah menangkap pembolehubah daripada skop induk secara automatik, menghapuskan keperluan untuk menyenaraikannya secara eksplisit menggunakan penggunaan. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa fungsi anak panah sentiasa mengembalikan nilai dan memerlukan kata kunci pulangan ditinggalkan.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Pembolehubah ke dalam Klausa Laravel Advanced Where?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)?

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?
