2015-06-20 122 views
1

我正在使用laravel5.1和mongoDb。在我的應用程序中,我爲每個用戶分別設置數據庫Laravel 5.1動態數據庫連接

當用戶登錄我設置數據庫爲每個用戶數據庫使用Config::set('Key' : 'Value')

當我試圖獲得當前數據庫連接使用Config::get('database)一切工作正常,但是當我試圖從數據庫中獲取數據,然後它會返回默認的數據庫數據。

+0

如果您想從單獨的數據庫中獲取數據而不是默認數據庫,請編寫像這樣的查詢。 '$ users = DB :: connection('myOtherDB') - > select(user_id from users);'這裏你可以將數據庫的名稱傳遞給連接,然後寫出你想執行的任何查詢。 – rashidkhan

+0

注意:此選擇查詢適用於MySQL,但您可以將其更改爲mongoDB所需的任何查詢。 – rashidkhan

+0

@rashidkhan我怎麼能做到這一點在口才? –

回答

0

DB::purge('mongodb-name');我在Config::set("Key","value")之後使用了這個。 它的工作對我來說。

0

你必須重寫connection屬性模型如下:

<?php 

namespace App\Models; 

class Model extends \Illuminate\Database\Eloquent\Model 
{ 
    protected $connection = 'your_connection_name_from_database_config'; 
} 

您也可以通過調用$model->setConnection('mongo');

希望這有助於將該值設置動態。

+0

感謝您的建議,但已經嘗試過,並沒有爲我工作。 –