Files
gsf/app/Exports/DataExport.php
vedant-chavan 20f55281ef save to codehub
2024-08-09 17:11:41 +05:30

75 lines
2.1 KiB
PHP

<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use App\Exports\DataExport;
use App\Models\UserOverView;
use App\Models\User;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Carbon\Carbon;
class DataExport implements FromCollection, WithHeadings
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
$start_date = request()->start_date;
// dd($start_date);
$end_date = request()->end_date;
// dd($end_date);
$userData = UserOverView::select('id','user_id','muscle_rate','body_fat','skeletal_muscle', 'protein', 'bmr','water','age','weight','created_at')->with('userData')->whereBetween('created_at', [$start_date, $end_date])->get();
// dd($userData);
if ($userData->isEmpty()) {
return collect([
[
'message' => 'No data found for the specified date.',
]
]);
}
$formattedData = $userData->map(function ($userData, $index) {
$user_name = isset($userData->userData) && isset($userData->userData)
? $userData->userData->full_name : 'N/A';
return [
'id' => $index + 1,
'user_id' => $user_name,
'Muscle Rate' => $userData->muscle_rate,
'Body Fat' => $userData->body_fat,
'Skeletal Muscle' => $userData->skeletal_muscle,
'Protein' => $userData->protein,
'BMR' => $userData->bmr,
'Water' => $userData->water,
'Age' => $userData->age,
'Weight' => $userData->weight,
'Date' => Carbon::parse($userData->created_at)->format('Y-m-d'),
];
});
return $formattedData;
}
public function headings(): array
{
return [
'id',
'Name',
'Muscle Rate',
'Body Fat',
'Skeletal Muscle',
'Protein',
'BMR',
'Water',
'Age',
'Weight',
'Date'
];
}
}