Rumah > rangka kerja php > Laravel > teks badan

prosedur tersimpan panggilan laravel

PHPz
Lepaskan: 2023-05-20 13:28:09
asal
941 orang telah melayarinya

Dalam pembangunan Laravel, prosedur tersimpan merupakan bahagian penting dalam pangkalan data Ia boleh membantu kami mengurus pangkalan data dengan lebih baik, meningkatkan kecekapan pertanyaan dan mengurangkan masalah dalam logik kod dan volum sambungan pangkalan data. Artikel ini akan menerangkan cara memanggil prosedur tersimpan dalam aplikasi Laravel.

1. Apakah itu prosedur tersimpan

Prosedur tersimpan ialah satu set pernyataan SQL tersusun yang disimpan dalam pangkalan data dan dipanggil sebagai prosedur atau fungsi yang boleh digunakan semula. Berbeza daripada pernyataan SQL, prosedur tersimpan termasuk logik kawalan dan pernyataan SQL, boleh menerima parameter, mengembalikan berbilang nilai, dan juga boleh memanipulasi jadual sementara, dsb. Prosedur tersimpan boleh meningkatkan prestasi dan keselamatan aplikasi, memudahkan kerumitan aplikasi dan mengurangkan komunikasi pergi balik antara pangkalan data dan aplikasi.

2. Cipta prosedur tersimpan

Dalam MySQL, anda perlu menggunakan kenyataan CREATE PROCEDURE untuk mencipta prosedur tersimpan adalah seperti berikut:

CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type [(length)],...)
[SQL语句]
Salin selepas log masuk

Antaranya , procedure_name ialah nama prosedur yang disimpan, dan parameter_name bermaksud nama Parameter, data_type menunjukkan jenis data parameter, dan panjang menunjukkan panjang data. Parameter boleh menjadi IN, yang bermaksud parameter input (hanya boleh digunakan apabila memasukkan prosedur tersimpan), OUT, yang bermaksud parameter output (data hanya boleh diperoleh melalui prosedur tersimpan), dan INOUT, yang boleh menjadi input dan output.

Sebagai contoh, kami mencipta prosedur tersimpan getUserInfo untuk mendapatkan maklumat pengguna Kod adalah seperti berikut:

CREATE PROCEDURE getUserInfo(IN userId INT)
BEGIN
    SELECT * FROM users WHERE id = userId;
END
Salin selepas log masuk

Melalui prosedur tersimpan ini, kami boleh mendapatkan maklumat pengguna dengan ID yang ditentukan.

3. Panggil prosedur tersimpan

Dalam Laravel, kita boleh menggunakan fasad DB untuk menyediakan kaedah DB::select untuk melaksanakan prosedur tersimpan, contohnya:

rreee

Di sini kita mendapat Mengambil maklumat pengguna dengan id 1 sebagai contoh, prosedur tersimpan getUserInfo yang dibuat dipanggil melalui pernyataan CALL. Selepas panggilan berjaya, $result akan mengembalikan objek yang mengandungi maklumat pengguna.

Jika anda perlu lulus parameter, anda boleh menggunakan ruang letak, contohnya:

$result = DB::select("CALL getUserInfo(1)");
Salin selepas log masuk

Pemegang tempat di sini ialah tanda soal, dan parameter kedua adalah dalam bentuk tatasusunan, dan anda perlu memberikan nilai kepada tanda soal dengan sewajarnya.

Perlu diperhatikan bahawa beberapa prosedur tersimpan perlu mengembalikan set hasil, manakala sesetengahnya hanya perlu melakukan operasi kemas kini atau sisipan Kaedah DB::statement yang disediakan melalui fasad DB boleh dipanggil terus, sebagai contoh :

$result = DB::select("CALL getUserInfo(?)", [1]);
Salin selepas log masuk

Di sini kami memanggil prosedur disimpan kemas kiniUser untuk mengemas kini maklumat pengguna dengan id 1, dan tiada set hasil dikembalikan.

4. Gunakan ORM untuk memanggil prosedur tersimpan

Selain memanggil prosedur tersimpan melalui fasad DB, ORM Laravel juga menyediakan kaedah untuk memanggil prosedur tersimpan adalah seperti berikut:

DB::statement("CALL updateUser(1, 'John')");
Salin selepas log masuk

di mana , Pengguna mewakili jadual pengguna. Kaedah ini serupa dengan kaedah DB::select Ia memanggil prosedur tersimpan getUserInfo dengan menghantar parameter, dan menyimpan hasil dalam model melalui kaedah hidrat.

Ringkasan

Laravel menyediakan kaedah yang mudah untuk memanggil prosedur tersimpan. Melalui fasad DB dan ORM, anda boleh menghubungi terus prosedur tersimpan yang dibuat melalui pernyataan CALL dan mendapatkan set hasil yang dikembalikan atau mengemas kini data. Prosedur tersimpan boleh membantu kami mengurus pangkalan data dengan lebih baik, meningkatkan prestasi dan keselamatan aplikasi, dan juga memudahkan kerumitan aplikasi.

Atas ialah kandungan terperinci prosedur tersimpan panggilan 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!