2017-04-08 54 views
0

私はLaravelとPostgresに基づいてプロジェクトを進めています。 今、私はSQLサーバーデータベースを使用する別のサーバーに格納されている生徒データを取得したいと考えています。 私はSQLサーバーデータベースに格納されている特定の学生のIDを入力する検索フォームを使用し、入力したIDに基づいてSQLサーバーから取得したデータをフォームに入力し、メインデータベース(Postgres)に保存します。 ありがとうございました!LaravelでPostgreSQLデータベースを使用しているときに、SQL Serverデータベースからデータを取得する方法

+0

を示唆したようにあなたは私たちがあなたのためにいくつかのコードを書きたいように見えます。多くのユーザーは、苦労しているコーダーのコードを作成したいと考えていますが、通常、ポスターが既に問題を解決しようとしているときにのみ役立ちます。この努力を実証する良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、予想される出力、実際に得られる出力(コンソール出力、トレースバックなど)を含めることです。あなたが提供する詳細があれば、受け取る可能性のある回答が増えます。 [FAQ]と[ask]を確認してください。 –

答えて

0

@ z2zが示唆するように、SQLサーバーをインストールしてPHP環境用のセットアップを実行していることを前提としています。

あなたがroot folder/config/database.phpに行き、あなたがこのようなものができsqlsrvのために例えばデータベースの資格情報を挿入することができます。

postgreのためにあなたは、このような別の何かを作ることができ

'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' => '', 
    ], 

とを

'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ファイルから得られます。これはあなた自身が所有することができます。 sqlデータベースからユーザーを取得するか、ユーザーが定義することができます

protected $connection ="sqlsrv"; 

:セットアップが完了したら

今あなたがクラス内で追加する必要があり、ユーザーモデル、例えば、今のモデルで接続タイプを定義することができます:

protected $connection ="pgsql"; 

postgreデータベース

からユーザーを取得するか、あなたはこのような何か生のクエリを呼び出すことができます:

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

希望します。

+2

Postgresには、postgres_fdwという機能があります。この機能を使用すると、sqlデータベースをpostgres DBに「接続」し、同じデータベースにあるかのように照会することができます。これはうまくいく場合もあれば、遅い場合もあります。 ここのドキュメント:https://www.postgresql.org/docs/9.3/static/postgres-fdw.html –

+0

@JoeLove素晴らしい。私はそれを知らなかった。 –

0

私はMS SQL Server 20XXを推測しています。対処方法..

関連する問題