gpt4 book ai didi

php - 调用未定义的方法 stdClass::toArray()

转载 作者:行者123 更新时间:2023-12-04 02:01:03 24 4
gpt4 key购买 nike

我想导出表格,但并非所有字段都必须导出。对不起,我的英语不是很好......

函数 excel

public function excel()
{
$rekanan_internal = rekanan_internal::all();
$selects = DB::table('rekanan_internal')->select('nama','description','pic','contact')->get();
$selectsArray = [];
$selectsArray = ['nama','description','pic','contact'];
foreach ($selects as $select)
{
$selectsArray = $select->toArray();
}

Excel::create('rekanan_internal', function($excel) use($rekanan_internal){
$excel->sheet('sheet1',function($sheet) use($selectsArray){
$sheet->fromArray($rekanan_internal);
});
})->download('xlsx');
}

获取错误

FatalErrorException in ExportController.php line 31: Call to undefined method stdClass::toArray()

最佳答案

DB::table('xxxx')->get() 将返回 stdClass 的集合。 stdClass 没有函数 toArray()

您可能想将整个集合组成一个数组,在这种情况下,您可以用以下代码替换 for 循环:

$selectsArray = $selects->toArray();

这是因为集合确实有一个名为 toArray 的函数.

更新:
您甚至可以将代码缩短为以下内容:

$selectsArray = DB::table('rekanan_internal')
->select('nama','description','pic','contact')
->get()
->toArray();

更新 2:
对于小于 5.3 的 Laravel 版本,您甚至不需要将结果转换为数组,因为结果是一个数组。

$selectsArray = DB::table('rekanan_internal')
->select('nama','description','pic','contact')
->get()

关于php - 调用未定义的方法 stdClass::toArray(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47204041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com