Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengakses Pembolehubah Luaran dalam Penutupan PHP Apabila Menggunakan Klausa `where` Laravel?

Bagaimanakah Saya Boleh Mengakses Pembolehubah Luaran dalam Penutupan PHP Apabila Menggunakan Klausa `where` Laravel?

Mary-Kate Olsen
Lepaskan: 2024-12-20 06:25:10
asal
998 orang telah melayarinya

How Can I Access External Variables in PHP Closures When Using Laravel's `where` Clauses?

Menggunakan Penutupan PHP dengan Pembolehubah Luaran

Apabila menggunakan klausa mana lanjutan Laravel, ia menjadi perlu untuk menghantar pembolehubah luaran ke dalam fungsi penutupan. Sintaks lalai melibatkan mencipta harta baharu dan mengaksesnya melalui $this. Walau bagaimanapun, kata kunci penggunaan menyediakan penyelesaian yang lebih mudah.

Dengan menggunakan penggunaan, anda boleh mengisytiharkan pembolehubah yang anda perlukan dalam skop penutupan. Contohnya:

DB::table('users')->where(function ($query) use ($activated) {
    $query->where('activated', '=', $activated);
})->get();
Salin selepas log masuk

Pendekatan ini membolehkan anda merujuk terus pembolehubah $diaktifkan di dalam penutupan.

Sintaks Dipertingkat dengan PHP 7.4

Dalam PHP 7.4, fungsi anak panah menawarkan alternatif ringkas kepada fungsi tanpa nama. Berikut ialah contoh menggunakan fungsi anak panah:

DB::table('users')->where(fn($query) => $query->where('activated', '=', $activated))->get();
Salin selepas log masuk

Walau bagaimanapun, perlu diingat bahawa fungsi anak panah berbeza sedikit daripada fungsi biasa:

  • Ia secara automatik menangkap pembolehubah daripada skop induk.
  • Mereka sentiasa mengembalikan nilai, menghapuskan keperluan untuk pulangan kata kunci.
  • Ia mestilah satu ungkapan tanpa pendakap kerinting.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah Luaran dalam Penutupan PHP Apabila Menggunakan Klausa `where` Laravel?. 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