我正在建立我的第一个laravel网站, 并尝试设置Maatwebsite \ laravel-excel软件包
视图中的表单值已传递给控制器变量。 现在我使用FromQuery和WithMapping设置模型。
但是尝试在内部返回时遇到问题
IndustriesExport.php
<?php
namespace App\Exports;
use App\Industry;
use Maatwebsite\Excel\Concerns\FromQuery;
use Maatwebsite\Excel\Concerns\WithMapping;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\FromCollection;
public function map($industry): array
{
//these things can't work
return [
foreach ($columns as $column) {
'$industry'->column,
}
];
//expecting foreach to be like this
return [
$industry->id,
$industry->name,
//and so on.
];
}
IndustriesController.php
public function exportTerpilih(Request $request)
{
//these things are from checkbox
$id = $request->input('id');
$column = $request->input('columns');
}
我只想制作自定义导出表, 我将不胜感激任何解决方案:)
〜抱歉英语不好
答案 0 :(得分:3)
您不能在数组中执行函数,应该返回以下内容
$return = [];
foreach($columns as $column) {
$return[$column]=$industry[$column];
}
return $return;
答案 1 :(得分:1)
您可以使用laravel集合的map()
功能。
return collect($columns)->map(function ($column) use ($industry) {
$industry[$column];
})->toArray();