Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menghantar Pembolehubah ke dalam Klausa Laravel Advanced Where?

Bagaimana untuk Menghantar Pembolehubah ke dalam Klausa Laravel Advanced Where?

Patricia Arquette
Lepaskan: 2024-12-17 07:01:25
asal
843 orang telah melayarinya

How to Pass Variables into Laravel Advanced Where Clauses?

Melalukan 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.'%');
});
Salin selepas log masuk

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.'%'));
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan