您的位置:首页 > 编程语言 > PHP开发

Laravel中连接多个数据库

2018-03-02 12:07 363 查看
在datebase.php文件中

'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', ''),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => 'wx_',
'strict' => false,
'engine' => null,
],
'mysql_server' => [
'driver' => 'mysql',
'host' => env('DB_HOST_SERVER', 'localhost'),
'port' => env('DB_PORT_SERVER', '3306'),
'database' => env('DB_DATABASE_SERVER', ''),
'username' => env('DB_USERNAME_SERVER', ''),
'password' => env('DB_PASSWORD_SERVER', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => 'wxs_',
'strict' => false,
'engine' => null,
],


在.env配置中

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

DB_HOST_SERVER=localhost
DB_PORT_SERVER=3306
DB_DATABASE_SERVER=
DB_USERNAME_SERVER=
DB_PASSWORD_SERVER=


在model文件中使用:

//第一种
namespace App\Http\Models\Test;
use DB;
use Illuminate\Database\Eloquent\Model;

class ispTest extends Model{
protected $connection = 'mysql_server';
private $table_name = 'users';

function serip(){

$res = DB::table($this->table_name)->connection($this->connection)->where('regip','=','0.0.0.0')->get();
return $res->toArray();
}
}
?>

//第二种
namespace App\Http\Models\Test;
use DB;
use Illuminate\Database\Eloquent\Model;

class ispTest extends Model{
protected $connection = 'mysql';//可以加可以不加
private $table_name = 'users';

function serip(){

$res = DB::table($this->table_name)->where('regip','=','0.0.0.0')->get();
return $res->toArray();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: