TypeError: array_values(): Argument #1 ($array) must be of type array, Illuminate\Database\Eloquent\Collection given in file
时间: 2024-04-23 16:27:46 浏览: 281
PHP中in_array函数使用的问题与解决办法
根据报错信息,问题出在`array_values()`函数的参数上。`array_values()`函数需要接收一个数组作为参数,但实际传递给它的是一个Illuminate\Database\Eloquent\Collection对象。
这个问题可能是因为`$orderDetails`是一个关联关系的集合对象,而不是一个普通的数组。你可以尝试使用`toArray()`方法将集合对象转换为数组,然后再进行处理。修改代码如下:
```php
$orderDetails = $orderBoxDetails->orderDetails->inboundOrderDetails->orderDetail->toArray();
$cellData = [];
foreach ($orderDetails as $orderDetail) {
$cellData[] = $orderDetail['details'];
}
```
在这里,我们使用`toArray()`方法将`$orderDetails`集合对象转换为数组,并在循环中访问每个订单详情的`details`属性。
这样修改后,再运行代码看看问题是否解决了。如果还有其他报错信息,请提供详细的报错信息,以便我们更好地帮助你解决问题。
阅读全文