あなたはApp\Providers\Neo4jServiceProvider.php
、例えば、カスタムプロバイダを作成し、クライアントに2つの以上の接続を定義することができます。
class Neo4jServiceProvider extends ServiceProvider
{
/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->app->singleton(Client::class, function() {
return ClientBuilder::create()
->addConnection('server1', getenv('NEO4J_1_HOST'))
->addConnection('server2', getenv('NEO4J_2_HOST'))
->build();
});
}
}
次にあなたがconfig/app.php
のproviders
配列にこれを追加し、アプリケーション内でプロバイダを登録ファイル:
App\Providers\Neo4jServiceProvider::class,
neo4j dbsの接続パラメータを.envファイルに追加します。
次は、どこでも、このサービスを注入し、任意のDBを照会することができます
class MyController
{
private $client;
public function __construct(Client $client)
{
$this->client = $client;
}
public function doSomeQueries()
{
// Query DB 1
$result = $this->client->run('MATCH (n) RETURN count(n)', null, null, 'server1');
// Query DB 2
$result2 = $this->client->run('MATCH (n) RETURN count(n)', null, null, 'server2');
}