如何获取内部收益?

时间:2019-05-02 06:26:43

标签: php laravel laravel-excel

我正在建立我的第一个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');                
    }

我只想制作自定义导出表, 我将不胜感激任何解决方案:)

〜抱歉英语不好

2 个答案:

答案 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();