【问题标题】:Need array instead of object in laravel using raw Query like DB::select("SELECT * FROM table");在 laravel 中需要数组而不是对象,使用像 DB::select("SELECT * FROM table"); 这样的原始查询
【发布时间】:2015-09-19 17:33:21
【问题描述】:

在 laravel 中我使用 DB::select("SELECT * FROM table"); 它返回一个对象,但我需要一个数组。 那么如何获取数组而不是对象呢?

示例:

$data = DB::select("SELECT * FROM table");
var_dump($data);

【问题讨论】:

标签: laravel


【解决方案1】:

请试试这个。

\Illuminate\Support\Facades\DB::setFetchMode(PDO::FETCH_ASSOC);
$values=\Illuminate\Support\Facades\DB::select("select * from  your_table");
\Illuminate\Support\Facades\DB::setFetchMode(PDO::FETCH_CLASS);
var_dump($values);

【讨论】:

    【解决方案2】:

    它实际上返回一个对象数组。要使单个对象成为数组,只需将其转换即可。例如:(array)$data[0]

    【讨论】:

    • 我需要一个二维数组而不是对象
    • 你能解释一下如何通过SELECT * 得到一个二维数组吗?实际上你可能会得到 10 条记录?
    • 我需要一个返回完整数组而不是对象的方法?
    • 注意:将 $data 转换为数组是不相关的,因为它已经是一个数组并且转换不会影响它的成员。它们中的每一个都必须单独转换,或者必须使用 json_encode/json_decode 组合
    猜你喜欢
    • 1970-01-01
    • 2018-05-10
    • 2014-12-02
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    相关资源
    最近更新 更多