2013-07-12 35 views
0

這可能不是一個合適的問題stackoverflow ....因爲它可能太具體。不同的數據庫,相同的網站....與Laravel

但我想知道是否有人知道我將如何安裝一個Laravel服務站點。但取決於網址,我可以訪問不同的數據庫。

IE瀏覽器...

www.mainsite.com/company1/login - 數據庫1

www.mainsite.com/company1/users - 數據庫1

..

WWW。 mainsite.com/company2/login - database2

www.mainsite.com/company2/users - database2

因此,在上述情況下,被投放的網站是完全相同的網站。 但當然,每個部分都有一個登錄名,並訪問不同的數據庫。

我知道我可以通過具有laravel的多個安裝這樣做,實際上這就是林怎麼做是正確的,現在....

但是我想能夠只更新一個版本....代替必須將我的更改複製到所有不同的文件夾。

然後只是爲所有的多個不同的公司提供一個網站。 他們只能訪問他們的數據庫

這可能嗎?

回答

0

你可以定義你的配置多個數據庫:

'default' => 'database1', 
'connections' => array(
    'database1' => array(
     'driver' => 'mysql', 
     'host'  => 'localhost', 
     'database' => 'database1', 
     'username' => 'root', 
     'password' => '', 
     'charset' => 'utf8', 
     'prefix' => '', 
    ), 

    'database2' => array(
     'driver' => 'mysql', 
     'host'  => 'localhost', 
     'database' => 'database2', 
     'username' => 'root', 
     'password' => '', 
     'charset' => 'utf8', 
     'prefix' => '', 
    ), 

), 

然後查詢中使用流利的:

$user = DB::connection('database2')->table('users')->where('id', '=', 1)->first(); 

也許你可以使用的環境中,這樣的事情:

$environments = array(
    'company1' => array('http://server.com/company1*'), 
    'company2' => array('http://server.com/company2*'), 
); 

然後在配置文件中創建您的子文件夾,並根據需要在數據庫配置的副本中進行編輯。

+0

是的,我想過這樣做,但你可以做雄辯的查詢嗎?還是你堅持原始和流利呢?因爲我有很多依賴於雄辯的多重關係 – KyleK

+0

也許你可以使用環境,看看我編輯的答案。 –

0

我使用的一種技術是爲註冊並將其存儲在我的主數據庫中的新客戶生成數據庫名稱。數據庫也將在此時創建和遷移。當用戶每次登錄後,軟件將查找他的數據庫名稱並使用以下命令爲其設置配置:

​​。

你仍然可以擁有Laravel和雄辯提供的所有好東西,而不依賴於原始查詢。這也使您免於管理大型配置文件。我還創建了與他們的模式名稱相匹配的資源目錄,這樣他們就可以擁有一個自定義的面向前臺的網站,並提供查看文件和樣式,同時與其他人一樣運行完全相同的堆棧

相關問題