I see type="hidden"
<form id="ddsubmit" action="{{ URL::to('/searchsheet/') }}" method="post" type="hidden">
Is it necessary?
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hi guys, I am currently using Maatwebsite's import export for laravel. https://github.com/Maatwebsite/Laravel-Excel But I encounter MethodNotAllowed exception only when i use the search date diff function. (Fetching records from DB in a date range)
App\Http\Controllers\SheetController.php This is my SheetController
public function showDateDiff(Request $request)
{
$fd = new sheets;
$td = new sheets;
$fd=$request->input('from_date');
$td=$request->input('to_date');
session(['sheettd' => 'datediff']);
$sheet = sheets::whereBetween('Date', [$fd, $td])->paginate(10);
//$fetchs = Team::paginate(10); // To use $teams->links(), you need paginate();
return view('timesheet')->with('sheet', $sheet);
}
This is my task routes
//Tasks Routes
Route::get('/regtime/delete/{timesheet_id}','SheetController@delete');
Route::get('/regtime/edit/{timesheet_id}','SheetController@edit');
Route::get('/timesheetedit/{timesheet_id}', 'SheetController@findRecord');
Route::post('/timesheeteditt/{timesheet_id}', 'SheetController@edit');
Route::get('/regtime/add', function () {
return view('regtime');
});
Route::get('/regtime/listing', 'SheetController@regtime');
Route::post('/regtime/add', 'SheetController@tire');
Route::post('/searchsheet','SheetController@showDateDiff');
Route::get('/searchsheettd','SheetController@today');
Route::get('/searchsheetsd','SheetController@sevenday');
resources\views\timesheet.blade.php This is my blade view. (It's kinda long)
@extends('layouts.app')
@section('content')
<div class="container">
<div class="container">
<style>
td {overflow:hidden;}
.wrapword{
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-wrap; /* css-3 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
word-break: break-all;
white-space: normal;
}
.glyphicon {
font-size: 25px;
};
</style>
<div class="row">
{!! Breadcrumbs::render('regtime/listing') !!}
<div class="col-md-15 col-md-offset-0">
@if ($message = Session::get('success'))
<div class="alert alert-success" role="alert">
{{ Session::get('success') }}
</div>
@endif
@if ($message = Session::get('error'))
<div class="alert alert-danger" role="alert">
{{ Session::get('error') }}
</div>
@endif
<?php
if (Session::has('sheettd')) {
$dropDownVal = session()->get('sheettd');
} else {
$dropDownVal = '';
}
?>
<div style="border: 4px solid #a1a1a1;margin-top: 15px;padding: 20px;">
<select id="imports2" onchange="show_selected1()">
<option value="">Select...</option>
<option value="today" <?php if ($dropDownVal=='today') echo 'selected="selected"'; ?>>Today</option>
<option value="7day" <?php if ($dropDownVal=='7day') echo 'selected="selected"'; ?>>7 Day ago </option>
<option value="datediff" <?php if ($dropDownVal=='datediff') echo 'selected="selected"'; ?>>Custom Range</option>
</select>
<div id="display2"></div>
<form id="hh" class = "hh" type="submit"</form><button>Submit</button></form>
<div>
<form id="importexport" action="{{ URL::to('importExcelS') }}" class="form-horizontal" method="post" enctype="multipart/form-data">{{ csrf_field() }} <input type="file" name="import_file" /> <br /> <button class="btn btn-primary">Import CSV or Excel File</button></form><br />
<a href="{{ url('downloadExcelS/xls') }}"><button id="se" class="btn btn-success btn-lg">Download Excel xls</button></a> <a href="{{ url('downloadExcelS/xlsx') }}"><button id="see" class="btn btn-success btn-lg">Download Excel xlsx</button></a> <a href="{{ url('downloadExcelS/csv') }}"><button id="seee" class="btn btn-success btn-lg">Download CSV</button></a>
</div>
</div>
<div class="panel panel-default">
<table class="table table-bordered user" width = "1000" style = "table-layout: fixed" >
<div class="panel-heading">List of Tasks</div>
<tr>
<th>Timesheet id</th>
<th>Date Created</th>
<th>Time in</th>
<th>Task</th>
<th>Time out</th>
<th>Action</th>
</tr>
@foreach ($sheet as $sheets)
<tr>
<td>{{ $sheets->timesheet_id }}</td>
<td>{{ $sheets->date }}</td>
<td>{{ $sheets->time_in }}</td>
<td class="wrapword">{!! clean($sheets->task) !!}</td>
<td>{{ $sheets->time_out }}</td>
<td class="center"><a class ="delete" href ="{{URL::to('/regtime/delete/'. $sheets->timesheet_id) }}"><span class="glyphicon glyphicon-remove-sign"></span><a href="{{URL::to('/timesheetedit/'.$sheets->timesheet_id) }}"><span class ="glyphicon glyphicon-pencil"></span></a>
</td>
</tr>
@endforeach
@endsection
@section('js')
<script type="text/javascript">
$(".delete").click(function(e){
e.preventDefault();
href = this.href;
bootbox.confirm({
message: "Confirm delete Task?",
buttons: {
confirm: {
label: 'Yes',
className: 'btn-success'
},
cancel: {
label: 'No',
className: 'btn-danger'
}
},
callback: function (result) {
if (result == true)
window.location = href
else
bootbox.alert("Task NOT deleted");
}
});
});
</script>
<script type="text/javascript">
$(".hh").click(function(e){
e.preventDefault();
href = this.href;
var selector = document.getElementById('imports2');
var value = selector[selector.selectedIndex].value;
if (value == 'today')
{
window.location = '{{ url("searchsheettd") }}'
}
else if (value == '7day')
{
window.location = '{{ url("searchsheetsd") }}'
}
else if (value == 'datediff')
{
//document.getElementById("hh").innerHTML = '<button type="submit" form="">Click me!</button>';
//$('.form-control').datepicker({
//format: 'yyyy-mm-dd',
//autoclose: true
//});
}
else
bootbox.alert("Please select an option!");
});
</script>
<script>
"use strict";
function show_selected1() {
var selector = document.getElementById('imports2');
var value = selector[selector.selectedIndex].value;
//document.getElementById('display').innerHTML = value;
if (value == 'datediff')
{
document.getElementById("display2").innerHTML = '<form id="ddsubmit" action="{{ URL::to('/searchsheet/') }}" method="post" type="hidden">{{ csrf_field() }}<div class="col-md-3"><input name="from_date" id="from_date" class="form-control" placeholder="From Date" required/></div><div class="col-md-3"><input name="to_date" id="to_date" class="form-control" placeholder="To Date" required/></div><div class="col-md-5"><button class="btn btn-info" />Submit</button></div><br /></form><br /> ';
$('.form-control').datepicker({
format: 'yyyy-mm-dd',
autoclose: true
});
}
}
</script>
<script type="text/javascript">
$('#from_date').datepicker({
format: 'yyyy-mm-dd',
autoclose: true
});
$('#to_date').datepicker({
format: 'yyyy-mm-dd',
autoclose: true
});
</script>
</table>
<button type="submit" onclick="window.location='{{ url("regtime/add") }}'" class="btn btn-primary">Add another Task</button>
<button type="submit" onclick="window.location='{{ url("home") }}'" class="btn btn-primary">Back</button>
<div class="text-center">
{{ $sheet->links() }}
</div>
</table>
</div>
</div>
</div>
</div>
@endsection
Please do tell me if i need to provide more information!
It's okay I'm just gonna leave this here. I solved it by changing the method get to resource by changing
Route::post('/searchsheet','SheetController@showDateDiff');
to
Route::resource('/searchsheet','SheetController@showDateDiff');
Please or to participate in this conversation.