Laravel ialah rangka kerja web PHP yang popular, digemari oleh pembangun kerana sintaksnya yang elegan, pembangunan yang mudah dan prestasi yang cekap. Dalam pembangunan Laravel, operasi pangkalan data amat penting. Laravel menyediakan kelas DB untuk mengendalikan pangkalan data Artikel ini akan memperkenalkan penggunaan kelas DB Laravel secara terperinci.
Dalam pembangunan Laravel, kami boleh melaksanakan operasi pangkalan data dengan mudah melalui kelas DB. Sebelum menggunakan kelas DB, anda perlu memperkenalkan ruang nama dalam pengawal:
use IlluminateSupportFacadesDB;
Melalui kelas DB, kami boleh melakukan operasi seperti pertanyaan, sisip, kemas kini, padam, dll. Berikut ialah contoh pertanyaan pangkalan data:
$users = DB::table('users')->get();
Contoh di atas adalah untuk mendapatkan rekod semua pengguna daripada jadual pengguna. Jika anda ingin mendapatkan satu rekod, anda boleh menggunakan kod berikut:
$user = DB::table('users')->where('name', 'John')->first();
Kod di atas akan mendapat rekod pertama bernama John daripada jadual pengguna.
Kunci kepada kelas DB ialah pembina pertanyaan. Pembina pertanyaan boleh membina pertanyaan melalui kaedah rantaian, yang sangat fleksibel dan mudah. Berikut ialah beberapa contoh:
a. di mana pertanyaan syarat
rreeeContoh di atas menanyakan rekod yang namanya sama dengan 'John' daripada jadual pengguna. Jenis keadaan boleh ditentukan melalui parameter kedua, seperti '>', '<', '>=', '<=', dsb.
b. orWhere pertanyaan bersyarat
$users = DB::table('users')->where('name', '=', 'John')->get();
Contoh di atas adalah untuk menanyakan rekod yang namanya sama dengan 'John' atau 'nama' sama dengan 'Mary' daripada jadual pengguna.
c. Pertanyaan syarat Berbilang Where
$users = DB::table('users')->where('name', '=', 'John')->orWhere('name', '=', 'Mary')->get();
Contoh di atas adalah untuk menanyakan rekod dengan status bersamaan dengan 1 dan menamakan tidak sama dengan John daripada jadual pengguna.
d. whereBetween condition query
$users = DB::table('users')->where([ ['status', '=', '1'], ['name', '<>', 'John'] ])->get();
Contoh di atas adalah untuk menanyakan rekod dengan undian antara 1-100 daripada jadual pengguna.
e. whereIn pertanyaan bersyarat
$users = DB::table('users')->whereBetween('votes', [1, 100])->get();
Contoh di atas adalah untuk menanyakan rekod dengan ID 1, 2 dan 3 daripada jadual pengguna.
f. perintahIsih pertanyaan
$users = DB::table('users')->whereIn('id', [1, 2, 3])->get();
Contoh di atas adalah untuk menanyakan rekod dalam jadual pengguna dalam susunan terbalik mengikut nama.
Kelas DB Laravel bukan sahaja menyokong operasi pertanyaan, tetapi juga menyokong operasi memasukkan, mengemas kini dan memadam. Berikut ialah beberapa contoh:
a. Sisipan data
$users = DB::table('users')->orderBy('name', 'desc')->get();
Contoh di atas memasukkan rekod dengan alamat e-mel john@example.com dan namakan John Doe ke dalam jadual pengguna.
b. Kemas kini data
DB::table('users')->insert([ 'email' => 'john@example.com', 'name' => 'John Doe' ]);
Contoh di atas mengemas kini nombor undian pengguna dengan id 1 hingga 1.
c. Pemadaman data
DB::table('users')->where('id', 1)->update(['votes' => 1]);
Contoh di atas memadam semua pengguna dengan undian kurang daripada 100.
Semasa proses pengendalian data, kemalangan mungkin berlaku, seperti ralat semasa memasukkan data. Pada masa ini, transaksi perlu ditarik balik untuk memastikan integriti data. Kelas Laravel DB menyokong operasi transaksi. Berikut ialah contoh:
DB::table('users')->where('votes', '<', 100)->delete();
Contoh di atas ialah transaksi mudah yang mengemas kini kiraan undi semua pengguna dalam jadual pengguna kepada 1 dan memadamkan semua rekod dalam jadual siaran. Jika ralat berlaku semasa urus niaga, ia akan digulung semula secara automatik dan integriti data dikekalkan.
Dalam kebanyakan kes, kelas Laravel DB akan menyambung secara automatik ke pangkalan data dan jadual lalai, tetapi dalam beberapa kes, Kita perlu nyatakan sambungan dan nama jadual secara manual. Berikut ialah contoh:
DB::transaction(function () { DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete(); });
Contoh di atas memaparkan semua data dalam jadual pengguna dalam sambungan pertama. Kami boleh mengkonfigurasi berbilang maklumat sambungan dalam fail config/database.php.
Melalui kelas Laravel DB, kami boleh melaksanakan operasi pangkalan data dengan mudah. Daripada pertanyaan data mudah kepada operasi transaksi yang kompleks, kelas Laravel DB menyediakan kaedah dan sintaks yang sepadan. Dalam pembangunan sebenar, kami boleh menggunakan pembina pertanyaan, urus niaga dan sambungan dalam kombinasi seperti yang diperlukan untuk mencapai operasi data yang fleksibel dan cekap.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan kelas db laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!