Отсутствие данных при экспорте в Excel с использованием Laravel Maatwebsite - PullRequest
0 голосов
/ 03 июня 2019

Я экспортирую данные из базы данных в Excel и загружаю файл. Это работает, но по какой-то причине данные "username" отсутствуют. Есть идеи? Впервые использую Laravel Excel. Спасибо.

Data User table image

Downloaded excel image

UserExport.php

<?php
namespace App\Exports;
use App\data;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;


class UsersExport implements FromCollection,WithHeadings
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
    return data::select(['username', 'password', 'email', 'phone'])->get();
}

public function headings(): array
{
    return [
        'Username',
        'Password',
        'Email',
        'Phone'
    ];
}
}

Контроллер

public function exportExcel()
{
    return Excel::download(new UsersExport, 'users.xlsx');
}

Data.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class data extends Model
{
protected $fillable = ['username','password','email','phone'];

protected $table = 'user';
protected $primaryKey = 'username';
public $timestamps = false;

}

1 Ответ

0 голосов
/ 03 июня 2019

Вместо инкапсуляции желаемых столбцов в массиве

public function collection()
{
    return data::select(['username', 'password', 'email', 'phone'])->get();
}

Попробуйте изменить это на

public function collection()
{
    return data::select('username', 'password', 'email', 'phone')->get();
}
...