我遇到了從DB::select()
返回的數組問題。我在我的API中大量使用skip
和take
Collections
雄辯的模型。不幸的是,DB :: select返回一個數組,這顯然不適用於skip和take。如何將數組轉換爲可以利用這些方法的集合?REST風格的API - 數組到集合Laravel 5
我已經試過
\Illuminate\Support\Collection::make(DB::select(...));
這確實如我所料不相當的工作,因爲它包裝在一個集合,而不是單個結果整個數組。
是否可以將返回從DB::select
轉換爲可以使用skip
和take
方法的「正確」集合?
更新
我也試過:
$query = \Illuminate\Support\Collection::make(DB::table('survey_responses')->join('people', 'people.id',
'=', 'survey_responses.recipient_id')->select('survey_responses.id', 'survey_responses.response',
'survey_responses.score', 'people.name', 'people.email')->get());
仍然告訴我:
FatalErrorException in QueryHelper.php line 36:
Call to a member function skip() on array
乾杯
感謝您的評論。我用Collection :: make()來管理這個部分,不幸的是我仍然無法針對集合運行skip()和take()。 – LokiSinclair
我不確定你的意思是用skip()和take()。 Collection類沒有這種方法。 [收藏](http://laravel.com/api/5.0/Illuminate/Support/Collection.html)你可以發佈你想要做的收藏? – ZengineChris
是的,抱歉,我對收藏類的理解有限。我想要做的是用skip和take方法手動構建分頁標題。不幸的是,這些方法似乎只能在Query \ Builder類中使用。我必須找到其他方法。不過謝謝。 – LokiSinclair