В основном я получил запрос, чтобы получить все записи на основе дат from
и to
. Я использую maatwebsite
пакет в laravel. Проблема в том, что если я нажму кнопку «Генерировать», файл Excel не будет сгенерирован. Я использую версию 2.x этого пакета, потому что он стабильный. Может кто-то помочь мне с этим? Я просто хочу распечатать результаты запроса в формате Excel. Я не буду менять версию на 3.x, потому что если я сделаю это, функции импорта другого компонента не будут работать для версии 3.x. Большое спасибо
Мой контроллер, не обращайте внимания на dd
только для целей тестирования
public function generateReport(Request $request){
$date = \DB::table('checkers')
->where('remarks_id',2)
->join('schedules','schedules.id','=','checkers.schedule_id')
->join('teachers','schedules.teacher_id','=','teachers.id')
->join('subject_codes','subject_codes.id','=','schedules.subject_code_id')
->join('remarks','remarks.id','=','checkers.remarks_id')
->where('checkers.created_at', '=>', $request->from)
->where('checkers.created_at', '=<', $request->to)
// ->whereBetween('checkers.created_at', [Carbon::now()->startOfWeek(), Carbon::now()->endOfWeek()])
->select('teachers.fullname','subject_codes.subject_description','remarks.remarks_desc','checkers.created_at')
->get();
dd($request->from);
return Excel::download('users.xlsx');
}
Если я нажму кнопку генерации, я получу ошибку Laravel Excel method [download] does not exist
Еще одна проблема для этого, даже если я dd
запрос, он возвращает null
Я даже не знаю, что происходит, я получил v-model
в vue, чтобы получить запрос все еще не может показать.
Мой vue компонент
<form action="">
<div class="col-xs-4 form-group">
<label>Start Date</label>
<date-picker name="from" id="from" v-model="from" :config="options" ></date-picker>
</div>
<div class="col-xs-4 form-group">
<label>End Date</label>
<date-picker name="to" id="to" v-model="to" :config="options" ></date-picker>
</div>
</form>
</div>
<div class="box-footer">
<a type="button" href="/generate" >
<button class="btn btn-info">
Generate Excel
</button>
</a>
</div>
Сценарий, в routes.php
, маршрут для генерации которого /generate
, и он указывает на метод контроллера generateReport
data(){
return{
from: new Date(),
options: {
format: 'YYYY-MM-DD',
showClear: true,
showClose: true,
},
to: new Date(),
options: {
format: 'YYYY-MM-DD',
showClear: true,
showClose: true,
}
}
},
created() {
console.log('Component mounted.')
},
methods:{
generate(){
axios.get('/generate')
.then((res)=>{
console.log('asd')
})
}
}