2017-05-07 171 views
1

所以我試圖從兩個不同的MongoDB集合中獲得一些結果,並將它們顯示在一個按日期排序的列表中。Laravel - 合併兩個集合後排序?

我有以下代碼:

$res=DB::collection('database_saver_mysql') 
    ->orderBy('date','desc') 
    ->get(); 

$res2=DB::colection('database_saver_postgres') 
    ->orderBy('date','desc') 
    ->get(); 

$merged=$res->merge($res2); 
return response($merged); 

正如預期的那樣,此一後顯示一個列表,則正在有序。但是,我希望將它們混合在一起並進行排序,即,我想對$ merge集合進行排序。

我該怎麼去做這件事?我試過sortBy()沒有運氣。

謝謝!

回答

1

您可以排序的結果集合是這樣的:

$sorted = $merged->sort(); 

或者,如果你想通過某一個領域做到這一點:

$sorted = $merged->sortBy('date');