php - RESTful API - 数组到集合 Laravel 5

标签 php arrays laravel-5

我在处理从 DB::select() 返回的数组时遇到问题。在我的 API 中,我大量使用 skiptake 处理 Collections 模型。不幸的是,DB::select 返回一个数组,这显然不适用于 skip and take。如何将数组转换为可以利用这些方法的集合?

我试过了

\Illuminate\Support\Collection::make(DB::select(...));

这并不像我预期的那样有效,因为它将整个数组包装在一个集合中,而不是单个结果。

是否可以将 DB::select 的返回值转换为可以使用 skiptake 方法的“正确”集合?

更新

我也试过:

$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

干杯

最佳答案

我会尝试:

$queryResult = DB::table('...')->get();

$collection = collect($queryResult);

如果查询结果是一个数组,则该集合将填充您的结果。请参阅集合的官方文档。 Laravel5 Collections

关于php - RESTful API - 数组到集合 Laravel 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29918201/

相关文章:

php - 与外国风俗的 Eloquent 关系-其他关键值(value)

php - Codeigniter 删除 Nginx 上的 index.php

php - 一个应用程序的多个数据库连接

c++ - std::cout << cstring;打印 cstring 元素的值,而不是 cstring 十六进制地址。为什么?

java - Java 方法可以根据带有对象变量引用的参数对数组进行排序吗?

php - 如何强制 Laravel 对列名使用驼峰命名法

java - 如何从服务器获取响应,例如 "Upload Successful"

javascript - ExtendScript 中的 For 循环 -keys().forEach 不是函数

javascript - 包含属于 laravel 5.2 中文件夹的所有 javascript 文件

php - 如何在 Laravel 5.1 中实现 'remember me'?