Как предстать внутри возвращения? - PullRequest
0 голосов
/ 02 мая 2019

Я создаю свой первый веб-сайт 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 ]

3 голосов
/ 02 мая 2019

Вы не можете выполнять функции в массиве, вы должны вернуть следующее

$return = [];
foreach($columns as $column) {
    $return[$column]=$industry[$column];
}
return $return;
1 голос
/ 02 мая 2019

Вы можете использовать map() функцию коллекции Laravel.

return collect($columns)->map(function ($column) use ($industry) {
    $industry[$column];
})->toArray();
...