2017-01-03 7 views
0

Illuminate\Database\SqlServerConnectionを拡張すると、1つの関数を上書きする必要があります。私は自分のDatabaseServiceProviderを作成し、使用App\Libraries\Extensions\Connectors\ConnectionFactoryを入れて試してみたが、ConnectionFactoryのは、過負荷状態にされていないだけDatabaseServiceProviderLaravel 5コアからの拡張 - SqlServerConnection

答えて

0

​​方法が最初に行うことがdb.connection.{$driver}エイリアスがバインドされているかどうかを確認することであり、もしそうなら、それがいることを返します接続オブジェクト。バインドされていない場合は、基本接続オブジェクト(sqlsrvドライバの場合はIlluminate\Database\SqlServerConnection)を返します。

したがって、独自のカスタム接続を使用するには、db.connection.sqlsrvエイリアスをカスタムSqlServerConnectionクラスにバインドするだけです。 shiftonelabs/laravel-nomadパッケージ(完全開示:私が書いたもの)にこれの例を見ることができます。

これを行う新しいサービスプロバイダを作成することも、既存のAppServiceProviderに追加することもできます。

class AppServiceProvider extends ServiceProvider 
{ 
    public function register() 
    { 
     $this->app->bind('db.connection.sqlsrv', 'Your\Custom\SqlServerConnection'); 
    } 
} 
関連する問題