先決條件在我的本地環境中,我正在使用多個租戶和 Redis(需要身份驗證)。為了服務于我正在使用 Valet 的項目。對于這種情況,我正在解決這兩個連接:- basic_foo (is defined in my .env)- tenant_foo (is the one to change to during a request)到目前為止,我成功地改變了連接,如下所示:config()->set('database.connections.mysql', array_merge( config()->get('database.connections.mysql') , ['database' => 'tenant_foo'] ); 問題但是,現在我看到查詢生成器存在問題,保持或退回到基本連接。當我運行時,我得到了tenant_foo的預期連接結果(對于 Redis 也是如此)dd(config()->get('database.connections.mysql'));當我運行時,我得到了basic_foo的錯誤但明顯有效的結果dd(\DB::connection()); // returns Illuminate\Database\MySqlConnection所以總而言之,應用程序將返回這個 Illuminate\Database\QueryExceptionSQLSTATE[42S02]: Base table or view not found: 1146 Table 'basic_foo.table_bar' doesn't exist...它應該在哪里搜索'tenant_foo.table_bar'尚未解決問題的事情重啟 Redis重新安裝 Redisphp工匠配置:緩存php工匠緩存:清除php工匠路線:清除php工匠視圖:清除php工匠優化作曲家轉儲自動加載像下面這樣簡單地將數據庫名稱更改為tenant_foo是不夠的,因為配置數組與basic_foo保持相同。\DB::connection()->setDatabaseName('tenant_foo');想法我想更改\DB::connection()的配置數組,但我不知道除了 config->set() 之外的其他方法。我安裝了望遠鏡這會影響數據庫連接嗎?還有其他想法嗎?
- 2 回答
- 0 關注
- 117 瀏覽
添加回答
舉報
0/150
提交
取消