【发布时间】:2021-12-22 00:13:24
【问题描述】:
我正在尝试通过在控制器中使用查询来连接用户和客户表
控制器中的导出功能
public function export()
{
//$arrays = [$level_one_array, $level_two_array, $level_three_array];
$arrays = Client::select('clients.*','users.*')->join('users', 'users.id', '=', 'clients.user_id')->where('users.type', '=', 'client')->get();
return Excel::download(new ClientsExport($arrays), 'clients.xlsx');
}
Users 和 clients 表通过 id 连接。我将这个过滤后的数据传递给导出函数
ClientsExport 中的代码
class ClientsExport implements FromCollection
{
/**
* @return \Illuminate\Support\Collection
*/
private $collection;
public function __construct($arrays)
{
$output = [];
foreach ($arrays as $array) {
// get headers for current dataset
$output[] = array_keys($array[0]);
// store values for each row
foreach ($array as $row) {
$output[] = array_values($row);
}
// add an empty row before the next dataset
$output[] = [''];
}
$this->collection = collect($output);
}
public function collection()
{
return $this->collection;
}
}
但我遇到了错误
[2021-11-09 14:42:58] local.ERROR: array_values() expects parameter 1 to be array, object given {"userId":1,"exception":"[object] (ErrorException(code: 0): array_values() expects parameter 1 to be array, object given at /home/myonecity/public_html/crm/app/Exports/ClientsExport.php:23)
[stacktrace]
如何解决这个问题?
【问题讨论】:
标签: php laravel export-to-excel laravel-7 maatwebsite-excel