Dengan pembangunan aplikasi web yang berterusan, jumlah data semakin meningkat dan satu pangkalan data mungkin tidak dapat memenuhi permintaan Dalam kes ini, berbilang pangkalan data perlu digunakan untuk menyimpan data. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk menanyakan pangkalan data yang berbeza.
Sebelum anda mula menggunakan Laravel untuk menanyakan pangkalan data yang berbeza, anda perlu menyelesaikan kerja penyediaan berikut:
Sediakan dua pangkalan data dan sambungkannya ke Laravel. Tambah sambungan pangkalan data kedua dalam fail .env
:
<code>DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database1 DB_USERNAME=root DB_PASSWORD= DB_CONNECTION_SECOND=mysql DB_HOST_SECOND=127.0.0.1 DB_PORT_SECOND=3306 DB_DATABASE_SECOND=database2 DB_USERNAME_SECOND=root DB_PASSWORD_SECOND=</code>
di mana, DB_CONNECTION
mewakili jenis sambungan pangkalan data, DB_HOST
mewakili alamat hos pangkalan data, DB_PORT
mewakili port pangkalan data, DB_DATABASE
Menunjukkan nama pangkalan data yang hendak disambungkan, DB_USERNAME
menunjukkan nama pengguna pangkalan data, dan DB_PASSWORD
menunjukkan kata laluan pangkalan data. DB_CONNECTION_SECOND
dan konfigurasi berikut mewakili konfigurasi pangkalan data kedua.
Selepas melengkapkan persediaan di atas, kita boleh mula menggunakan Laravel untuk menanyakan pangkalan data yang berbeza. Kaedah pelaksanaan adalah seperti berikut:
Pertama, anda perlu menggunakan kaedah DB::connection()
untuk menentukan sambungan pangkalan data yang akan ditanya. Seperti yang ditunjukkan di bawah:
<code>use Illuminate\Support\Facades\DB; $user = DB::connection('database2')->table('users')->where('name', 'John')->first();</code>
Di atas DB::connection('database2')
menunjukkan bahawa pangkalan data bernama database2
akan ditanya. Antaranya, table('users')
menunjukkan bahawa jadual users
hendak disoal.
Jika anda perlu menukar antara pangkalan data yang berbeza, anda hanya perlu memanggil kaedah DB::connection()
beberapa kali. Seperti yang ditunjukkan di bawah:
<code>$user1 = DB::connection('database1')->table('users')->where('name', 'John')->first(); $user2 = DB::connection('database2')->table('users')->where('name', 'John')->first();</code>
Dua pangkalan data berbeza disoal dalam kod di atas.
Ringkasnya, artikel ini memperkenalkan cara menggunakan Laravel untuk menanyakan pangkalan data yang berbeza. Cuma tambahkan konfigurasi yang sepadan dalam fail .env
, dan kemudian gunakan kaedah DB::connection()
untuk menentukan sambungan pangkalan data untuk ditanya. Ini sangat berguna untuk aplikasi web yang perlu menyimpan sejumlah besar data.
Atas ialah kandungan terperinci laravel menanyakan pangkalan data yang berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!