如何在Laravel中使用PostgreSQL数据库时从SQL Server数据库中检索一些数据

时间:2017-04-08 06:23:35

标签: sql-server postgresql laravel

我正在开发一个基于Laravel和Postgres的项目。 现在我想检索学生数据,其中存储在另一个使用SQL Server数据库的服务器中。 我使用搜索表单输入特定学生的ID,该ID存储在SQL Server数据库中,我想根据输入的ID将我的表格填入从SQL服务器检索到的数据,并将其存储在我的主数据库(Postgres)中。 在此先感谢!

2 个答案:

答案 0 :(得分:0)

我假设你已经安装了SQL服务器并运行了@z2z建议的PHP环境设置。

您可以转到root folder/config/database.php并插入数据库的凭据,例如sqlsrv您可以使用以下内容:

 'sqlsrv' => [
        'driver' => 'sqlsrv',
        'host' => env('DB_HOST', 'localhost'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'prefix' => '',
    ],

对于postgre,您可以制作另一个类似的内容:

'pgsql' => [
        'driver' => 'pgsql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '5432'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'prefix' => '',
        'schema' => 'public',
        'sslmode' => 'prefer',
    ],

注意:此处的凭据来自env文件,您可以拥有自己的凭据。

现在一旦完成设置,您现在可以在模型中定义连接类型,例如在您需要在类中添加的用户模型中:

protected $connection ="sqlsrv";

sql数据库获取用户,或者您可以定义:

protected $connection ="pgsql";

postgre数据库

获取用户

或者你可以调用这样的原始查询:

$users = DB::connection('sqlsrv')->select(...);

希望这有帮助。

答案 1 :(得分:0)

我在猜它的MS SQL Server 20XX。要做的事情..