2015-12-29 39 views
0

我正在開發的多租戶目的的應用程序,對於這一點,我用管絃樂/ Tenanti但我遇到了以下問題。Tenanti「未定義的變量:數據庫」

我已經執行了一些對多數據庫連接設置所需的步驟。

  1. 配置租客驅動程序的多個數據庫:我tenanti.php
  2. 設置默認的數據庫連接:在我的租戶連接的我Tenant.php中間件
  3. 定義:在我的config/database.php中

問題在數據庫連接解析程序步驟。在我的中間件中,我定義了要使用的連接(我沒有發佈代碼,因爲它與Tenanti的使用無關),這是正確設置的。

我解析的代碼是:

public function boot() 
    { 
     Tenanti::connection('tenants', function (User $entity, array $template) { 
      $template['database'] = "db_{$entity->getKey()}"; 
      return $template; 
     }); 
    } 

此代碼位於我AppServiceProvider。但是,我的數據庫使用,不正確地從我的解析器設置好的,拋出了以下錯誤:

ErrorException in MySqlConnector.php line 110: 
Undefined variable: database 

顯然,錯誤意味着數據庫沒有設置好的。 有人可以幫忙嗎?提前致謝。

回答

0

經過多次試驗,我沒有找到使用Tenanti解決方案,而不是說,我用配置類設置爲使用數據庫,並保持在database.php中我的租戶配置。

Config::set('database.connections.tenants.database', 'legal_'.$request->route()->parameter('account')); 
Config::set('database.default', 'tenants');