Bagaimana untuk menyambung ke pangkalan data kedua di Laravel?
Sep 17, 2025 am 01:42 AMKonfigurasikan sambungan pangkalan data kedua: Tambah sambungan baru dalam config/database.php dan tetapkan pembolehubah .Env; 2. Gunakan db :: sambungan ('mysql_second') atau atribut sambungan model $ untuk menentukan sambungan; 3. Gunakan kaedah ON () untuk beralih secara dinamik semasa runtime; 4. Gunakan Skema :: Sambungan () untuk melaksanakan semasa penghijrahan dan bekerjasama dengan pilihan -database.
Untuk menyambung ke pangkalan data kedua di Laravel, anda tidak memerlukan pakej kompleks atau alat luaran. Laravel secara asli menyokong pelbagai sambungan pangkalan data keluar dari kotak. Anda hanya perlu mengkonfigurasi mereka dengan betul dalam permohonan anda.
1. Konfigurasikan pangkalan data kedua dalam config/database.php
Laravel membolehkan anda menentukan pelbagai sambungan untuk pemacu pangkalan data yang sama atau berbeza. Buka Config/Database.php dan tambahkan sambungan baru di bawah array'connections'
. Sebagai contoh, menambah pangkalan data MySQL kedua:'mysql' => [<br> 'pemandu' => 'mysql',<br> 'host' => env ('db_host', '127.0.0.1'),<br> 'pangkalan data' => env ('db_database', 'forge'),<br> // ... tetapan lain<br> ],<br><br> 'mysql_second' => [<br> 'pemandu' => 'mysql',<br> 'host' => env ('db_second_host', '127.0.0.1'),<br> 'port' => env ('db_second_port', '3306'),<br> 'pangkalan data' => env ('db_second_database', 'second_db'),<br> 'nama pengguna' => env ('db_second_username', 'root'),<br> 'kata laluan' => env ('db_second_password', ''),<br> 'Charset' => 'UTF8MB4',<br> 'Collation' => 'UTF8MB4_UNICODE_CI',<br> 'awalan' => '',<br> 'ketat' => benar,<br> 'enjin' => null,<br> ],Kemudian, tambahkan pembolehubah persekitaran yang sepadan dalam fail .env anda:
Db_second_host = 127.0.0.1<br> Db_second_port = 3306<br> Db_second_database = your_second_db<br> Db_second_username = root<br> Db_second_password = rahsia
2. Gunakan sambungan kedua dalam pertanyaan
Setelah dikonfigurasikan, gunakan kaedahconnection()
untuk menentukan pangkalan data yang hendak digunakan. Menggunakan pembina pertanyaan:
DB::connection('mysql_second')->table('users')->get();
Dalam model yang fasih:
Tentukan harta $connection
dalam model anda:
Pengguna kelas memanjangkan model<br> {<br> dilindungi $ connection = 'mysql_second';<br> dilindungi $ table = 'pengguna';<br> }Sekarang semua pertanyaan pada model ini akan menggunakan pangkalan data kedua.
3. Tukar sambungan semasa runtime
Anda boleh menukar sambungan secara dinamik apabila diperlukan.$ users = user :: on ('mysql_second')-> get ();Ini sementara menggunakan sambungan yang ditentukan tanpa mengubah lalai model.
Jika anda menyertai jadual di seluruh pangkalan data dan pangkalan data anda menyokongnya (misalnya, MySQL), anda boleh merujuk laluan pangkalan data penuh: DB::table('first_db.users')->join('second_db.profile', ...)
tetapi pastikan keistimewaan pengguna membenarkan akses cross-database.
4. Migrasi dan Seeders untuk pangkalan data kedua
Secara lalai, migrasi berjalan pada sambungan lalai. Untuk mensasarkan pangkalan data kedua, tentukan sambungan dalam penghijrahan:Skema :: sambungan ('mysql_second')-> create ('profiles', function ($ table) {<br> $ Table-> id ();<br> $ Table-> String ('Bio');<br> $ Table-> Timestamps ();<br> });Semasa melihat:
Model::on('mysql_second')->create([...]);
Jalankan migrasi untuk sambungan tertentu menggunakan bendera --database
:
php artisan migrate --database=mysql_second
Pada asasnya, sistem konfigurasi pangkalan data Laravel membuat pengendalian pelbagai pangkalan data langsung -menentukan sambungan, menggunakannya di mana diperlukan, dan menguruskan migrasi dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimana untuk menyambung ke pangkalan data kedua di Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Buat Model dan Migrasi: Gunakan PhPartisanMake: ModelPost-M untuk menjana model dan fail penghijrahan, menentukan struktur meja dan jalankan phpartisanmigrate; 2. Operasi CRUD Asas: Gunakan pos :: semua (), cari (), buat (), simpan () dan padam () kaedah untuk menanyakan, membuat, mengemas kini dan memadam data; 3. Gunakan persatuan yang fasih: Tentukan hubungan dan hubungan hasmany dalam model, dan gunakan kaedah dengan () untuk memperlihatkan data yang berkaitan untuk mengelakkan masalah pertanyaan n 1; 4.

Ya ya, ya, ya, ya, yapaS, yoyacreateasoiNworkWitThlyFollowingTheSestEps: 1.setuplaraveliausingcomposer, configurethe.Envfile, enNipAceAuthenticationEvheButreh/jetStream/fortifify, andRunMigrationsforUsermanGENGENGENGA

Polymorphicrelationshipsinlaravelallowamodelikecommentorimagetobelongtomultiplemodelssuchaspost, video, oruserusingasingleassociation.2.Thedatabaseschemarequires {Hubungan}

Buat fail bahasa: Buat subdirektori untuk setiap bahasa (seperti en, es) dalam direktori sumber/lang dan tambahkan fail.php mesej, atau gunakan fail JSON untuk menyimpan terjemahan; 2. Tetapkan Bahasa Permohonan: Baca Header Permintaan Menerima bahasa melalui middleware atau mengesan bahasa melalui awalan URL, tetapkan bahasa semasa menggunakan apl ()-> setLocale (), dan daftar middleware di kernel.php; 3. Gunakan fungsi terjemahan: gunakan __ (), trans () atau @lang dalam pandangan untuk mendapatkan kandungan terjemahan, dan disyorkan untuk menggunakan __ () yang menyokong sandaran; 4.

Sistem Taskscheduling Laravel membolehkan anda menentukan dan menguruskan tugas-tugas masa melalui PHP, tanpa mengedit secara manual dengan Crontab Server, anda hanya perlu menambah tugas cron yang dilaksanakan sekali seminit ke pelayan: *CD/Path-to-Your-Project && phpartisanschedule: RUN >>/null2> App \ Console \ Kernel Class; 1. Menentukan tugas boleh menggunakan kaedah perintah, panggilan atau eksekutif, seperti $ jadual-

Menggunakan Laravel untuk membina backend mudah alih memerlukan terlebih dahulu memasang rangka kerja dan mengkonfigurasi persekitaran pangkalan data; 2. Tentukan laluan API dalam Laluan/API.PHP dan mengembalikan respons JSON menggunakan pengawal sumber; 3. Melaksanakan pengesahan API melalui Laravelsanctum untuk menjana token untuk penyimpanan dan pengesahan mudah alih; 4. Sahkan jenis fail apabila memuat naik fail dan simpannya pada cakera awam, dan buat pautan lembut untuk akses luaran; 5. Persekitaran pengeluaran memerlukan HTTPS, menetapkan had semasa, mengkonfigurasi CORS, melakukan kawalan versi API dan mengoptimumkan pengendalian ralat. Ia juga disyorkan untuk menggunakan sumber API, paging, beratur dan alat dokumen API untuk meningkatkan kebolehpercayaan dan prestasi. Gunakan Laravel untuk membina selamat,

Laravelusmonologtologmessagesviathelogfacade, withdefaultlogsstoredinstorage/logs/laravel.log.configurechannelsinconfig/logging.phptocontroloutput;

Pastikan terdapat lajur ingat_token dalam jadual pengguna. Penghijrahan lalai Laravel sudah termasuk medan ini. Jika tidak, ia akan ditambah melalui penghijrahan; 2. Tambah kotak semak dengan nama ingat dalam borang log masuk untuk menyediakan pilihan "Ingat Saya"; 3. Lulus parameter ingat kepada kaedah pengarang :: percubaan () semasa pengesahan manual untuk membolehkan log masuk berterusan; 4. "Ingatlah saya" berlangsung selama 5 tahun secara lalai, dan boleh disesuaikan melalui item konfigurasi Remember_for dalam config/auth.php; 5. laravel secara automatik membatalkan ingat_token apabila perubahan kata laluan atau pemadaman pengguna. Adalah disyorkan untuk menggunakan HTTPS untuk memastikan keselamatan dalam persekitaran pengeluaran; 6
