2015-05-31 40 views
0

我正在開發一個使用YII框架(MySql數據庫引擎)的大型項目。我正在準備通過遷移到YII2或Laravel 5來繼續開發項目的其餘部分。 在這個問題中,我不問問哪一個框架更好,因爲很明顯,沒有明確的答案,並且它更好你可以自己嘗試。 由於其餘部分與存檔數據,併產生了檔案的報告對我來說很重要的問題相關的是,如果這些框架的某一個可以讓一個查詢中多數據庫調用 - 這是爲下面的示例:是否有可能多個數據庫調用YII2或LARAVEL 5

SELECT * FROM database01.table1 t1, database02.table2 t2 WHERE t1.id1=t2.id2; 

如果這是可能的,我寧願如果沒有ORM可以完成 從我做過的輕量級研究中,我瞭解到對於YII2它是可能的,但只有通過使用Active記錄 - 它是ORM實現。可悲的是,對於LARAVEL 5我無法找到答案 - 我有一種感覺,但它只是通過看一些樣品而感覺。 所以請給我你的建議! 還有一次 - 我不是在徵求哪個框架更好的建議,因爲我正在準備測試他們的自我。我對YII很滿意,當然我會擴展到YII2,但是我正在閱讀的LARVEL也很棒,我只想選擇哪一個成爲第一個,並且學習並嘗試完成當前的項目。 在此先感謝!

+0

Orms建立在這樣的sql語句之上,所以總是可以在沒有orm的情況下完成。 –

+0

我不確定你是否在談論Laravel的關係? http://laravel.com/docs/5.0/eloquent#relationships –

+0

也許這也是一個答案,但也是ORM - 對嗎? –

回答

2

Laravel允許direct database queries

例如,$results = DB::select('SELECT * FROM database01.table1 t1, database02.table2 t2 WHERE t1.id1=t2.id2');將執行您的示例查詢併爲您提供一組結果。

+0

你能告訴我這個例子的DB鏈接的配置的一部分? –

+0

@KanchoIliev這將使用'config/database.php'中的憑證。你需要一個可以訪問這兩個數據庫的MySQL用戶。由於您明確指出要在查詢本身中連接哪個數據庫,因此'database.connections.mysql.database'的值將不相關 - 但您可以將其設置爲訪問頻率最高的數據庫,以便您可以執行SELECT *從table1'反對它。 – ceejayoz

+0

@ceejayouz這是我之前觀察過的文章 - 那是讓我覺得它可能在Laravel。但是使用命名連接的說明令我失望,因爲我認爲他們必須 - 因爲我需要Laravel開發人員的建議。如果你使用它 - 這是我的答案。非常感謝你! –

相關問題