如何在兩個不同的數據庫中運行Laravel中的簡單Mysql查詢?Laravel 5.3上的不同數據庫中的雄辯連接和查詢
SELECT * FROM database1.table1, database2.table2
我該如何在不同的數據庫上進行Eloquent連接?
如何在兩個不同的數據庫中運行Laravel中的簡單Mysql查詢?Laravel 5.3上的不同數據庫中的雄辯連接和查詢
SELECT * FROM database1.table1, database2.table2
我該如何在不同的數據庫上進行Eloquent連接?
,:
$result = DB::connection('database1')->table('contacts')->get()
->union(
DB::connection('database2')->table('contacts')->get()
);
如果你的查詢生成器是不返回集合數據庫位於同一臺服務器上,並且mysql用戶可以訪問這兩個數據庫,您可以通過DB::raw
:
$q1 = DB::table(DB::raw('database1.table1 AS db1_tb1'))->select('*');
$results = DB::table(DB::raw('database2.table2 AS db2_tb2'))->select('*')
->union($q1)
->get();
對於加盟:
DB::table(DB::raw('database1.table1 AS db1_tb1'))
->join(DB::raw('database2.table2 AS db2_tb2'),'db1_tb1.first_key','=','db2_tb2.second_key')
不能使用不同的連接要做到這一點,所以你應該這樣做:如果正如我所提到
$result = collect(DB::connection('database1')->table('contacts')->get())
->union(
collect(DB::connection('database2')->table('contacts')->get())
);
好的,謝謝!以及如何在多數據庫中進行JOIN?只需手動? –
https://laravel.com/docs/5.3/queries#joins – Hackerman
Hackerman - 多個數據庫?我不這麼認爲...... –
如果數據庫位於同一臺服務器上,並且mysql用戶可以訪問這兩個數據庫,那麼您應該可以在沒有任何問題的情況下執行此操作。你可能只需要使用'DB :: raw' – aynber