我正在使用laravel5.1和mongoDb。在我的應用程序中,我爲每個用戶分別設置數據庫Laravel 5.1動態數據庫連接
當用戶登錄我設置數據庫爲每個用戶數據庫使用Config::set('Key' : 'Value')
。
當我試圖獲得當前數據庫連接使用Config::get('database)
一切工作正常,但是當我試圖從數據庫中獲取數據,然後它會返回默認的數據庫數據。
我正在使用laravel5.1和mongoDb。在我的應用程序中,我爲每個用戶分別設置數據庫Laravel 5.1動態數據庫連接
當用戶登錄我設置數據庫爲每個用戶數據庫使用Config::set('Key' : 'Value')
。
當我試圖獲得當前數據庫連接使用Config::get('database)
一切工作正常,但是當我試圖從數據庫中獲取數據,然後它會返回默認的數據庫數據。
DB::purge('mongodb-name');
我在Config::set("Key","value")
之後使用了這個。 它的工作對我來說。
你必須重寫connection
屬性模型如下:
<?php
namespace App\Models;
class Model extends \Illuminate\Database\Eloquent\Model
{
protected $connection = 'your_connection_name_from_database_config';
}
您也可以通過調用$model->setConnection('mongo');
希望這有助於將該值設置動態。
感謝您的建議,但已經嘗試過,並沒有爲我工作。 –
如果您想從單獨的數據庫中獲取數據而不是默認數據庫,請編寫像這樣的查詢。 '$ users = DB :: connection('myOtherDB') - > select(user_id from users);'這裏你可以將數據庫的名稱傳遞給連接,然後寫出你想執行的任何查詢。 – rashidkhan
注意:此選擇查詢適用於MySQL,但您可以將其更改爲mongoDB所需的任何查詢。 – rashidkhan
@rashidkhan我怎麼能做到這一點在口才? –