停车场管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

58 lines
2.0 KiB

<?php
namespace App\Exports;
use App\Models\ParkingCamera;
use App\Services\OperationLogService;
use App\Services\ParkingCameraService;
use Maatwebsite\Excel\Concerns\FromArray;
use Maatwebsite\Excel\Concerns\WithHeadings;
class ParkingCameraExport implements FromArray, WithHeadings
{
public function array(): array
{
$data = [];
$index = 1;
ParkingCamera::all()->each(
function ($item) use (&$data, &$index) {
$oldItem = (new ParkingCameraService(
new OperationLogService()
))->optionItems($item);
$data[] = [
'id' => $index,
'floor' => $oldItem['floor'],
'number' => $oldItem['number'],
'camera_ip' => $oldItem['camera_ip'],
'parking_space_count' => $oldItem['parking_space_count'],
'parking_space_numbers' => $oldItem['parking_space_numbers'],
'is_control_lights' => $oldItem['is_control_lights'],
'type' => $oldItem['type'],
'status' => $oldItem['status'],
'updated_at' => $oldItem['updated_at']
];
$index += 1;
}
);
return $data;
}
/**
* @return array
*/
public function headings(): array
{
return [
__('exports.global.index'),
__('exports.parking_space.floor'),
__('exports.parking_camera.number'),
__('exports.parking_camera.camera_ip'),
__('exports.parking_camera.parking_space_count'),
__('exports.parking_camera.parking_space_numbers'),
__('exports.parking_camera.is_control_lights'),
__('exports.parking_camera.type'),
__('exports.parking_camera.status'),
__('exports.parking_camera.updated_at')
];
}
}