 |
|
ปกติผมใช้รูปแบบ มาตราฐานของ Laravel Connect Multiple Database โดยปกติแล้ว มันสามารถ connect ได้มากกว่า 1 db
เข้าไปแก้ไข .env และ config/database.php เช่น
.env
Code (PHP)
DB_CONNECTION=mysql
DB_HOST='localho'
DB_PORT='Your DB Port'
DB_DATABASE='Your DB Name'
DB_USERNAME='Your DB UserName'
DB_PASSWORD='Your DB Password'
DB_CONNECTION_2=mysql
DB_HOST_2='Your DB Host'
DB_PORT_2='Your DB Port'
DB_DATABASE_2='Your DB Name'
DB_USERNAME_2='Your DB UserName'
DB_PASSWORD_2='Your DB Password'
config/database.php
Code (PHP)
'default' => 'mysql',
'connections' => [
'mysql' => [
'driver' => env('DB_CONNECTION'),
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
....
],
'mysql2' => [
'driver' => env('DB_CONNECTION_2'),
'host' => env('DB_HOST_2'),
'port' => env('DB_PORT_2'),
'database' => env('DB_DATABASE_2'),
'username' => env('DB_USERNAME_2'),
'password' => env('DB_PASSWORD_2'),
....
]
]
แต่เวลา create migration ในตัว Schema ให้เราอ้างถึง SQL ที่เราจะ migrate เข้าไป ยกตัวอย่าง
Migration
Code (PHP)
Schema::connection('mysql2')->create('users', function($table)
{
$table->increments('id'):
});
model
Code (PHP)
class multiData extends Model
{
protected $connection = 'mysql2';
}
Controller
Code (PHP)
class MultiDataController extends Controller
{
public function edit()
{
$multiData = new multiData;
$multiData->setConnection('mysql2');
$multi = $multiData->find(1);
return $multi;
}
}
|
ประวัติการแก้ไข 2019-09-27 09:27:51 2019-09-27 09:29:22 2019-09-27 09:30:07 2019-09-27 09:31:17 2019-09-27 09:33:14
 |
 |
 |
 |
Date :
2019-09-27 09:27:22 |
By :
dudesaranyu |
|
 |
 |
 |
 |
|
|
 |