Hi i want to set value of my daterange filter as real-time like today is 5 April 2021 so the default of my daterange filter become from 5 April 2021 to 5 April 2021 and also display the data from my database, what should i do?
This is my View Blade:
<form action="searchdateinvoice" method="get"> @csrf <div class="container"> <div class="row"> <div class="container-fluid"> <div class="form-group row"> <label for="date" class="col-form-label col-sm-1" style="width: 99px">Date From</label> <div class="col-sm-3"> <input type="date" class="form-control input-sm" value="2021-04-05"name="dateFrom" id="dateFrom" required> </div> <label for="date" class="col-form-label col-sm-1">Date To</label> <div class="col-sm-3"> <input type="date" class="form-control input-sm " value="2021-04-05"name="dateTo" id="dateTo" required> </div> <div class="col-sm-3"> <button type="submit" class="btn btn-primary pl-4 pr-4 rounded-pill" style="background-color: #B10000" title="searchdate"> <span class="pl-1">Filter</button> </div> </div> </div> </div> </div> </form> @if (count($indexInvoices) > 0) <table class="table table-bordered table-hover" class="display" cellspacing="0"> <thead style="background-color: #B10000"> <tr> <th class="text-center text-light" scope="col">No.</th> <th class="text-center text-light" style="width:10%" scope="col">Sale Date</th> <th class="text-center text-light" scope="col">Invoice</th> <th class="text-center text-light" scope="col">Sender</th> <th class="text-center text-light" scope="col">Status</th> </tr> </thead> <tbody> @foreach ($indexInvoices as $invoice) <tr> <th class="align-middle" scope="row">{{ $loop->iteration }}</th> <th class="align-middle" scope="row"> @php $old_date = explode('-', $invoice->saledate); $new_data = $old_date[2] . '-' . $old_date[1] . '-' . $old_date[0]; echo $new_data; @endphp </th> <th class="align-middle" scope="row">{{ $invoice->saleno }}</th> <th class="align-middle" scope="row">{{ $invoice->chkby }}</a></th> <th class="align-middle" scope="row"> @if ($invoice->isposted == false) @php echo 'Pending'; @endphp @else @php echo 'Finished'; @endphp @endif </tr> @endif @endforeach </tbody> </table> {{ $indexInvoices->links('pagination::bootstrap-4') }}
This is my Invoice Controller:
public function searchDateInvoice(Request $request) { $fromDate = $request->get('dateFrom'); $toDate = $request->get('dateTo'); if(!empty($fromDate)) { $searchDateInvoice = Invoices::whereBetween('saledate', [$fromDate, $toDate]) ->orderby('saleno', 'desc') ->paginate(15); $searchDateInvoice->appends(['dateFrom'=>$fromDate,'dateTo'=>$toDate]); } return view('invoices.searchdateinvoice')->with(['searchDateInvoice'=>$searchDateInvoice]); }
This my Route (web.php)
Route::get('/invoices','AppHttpControllersInvoiceController@indexInvoice'); Route::get('/searchInvoice','AppHttpControllersInvoiceController@searchInvoice')->name('searchInvoice'); Route::get('/searchdateinvoice','AppHttpControllersInvoiceController@searchDateInvoice')->name('searchdateinvoice');
Advertisement
Answer
use date() to get current date with any format you want.
<div class="col-sm-3"> <input type="date" class="form-control input-sm" value="{{date('Y-m-d')}}"name="dateFrom" id="dateFrom" required> </div> <label for="date" class="col-form-label col-sm-1">Date To</label> <div class="col-sm-3"> <input type="date" class="form-control input-sm " value="{{date('Y-m-d')}}"name="dateTo" id="dateTo" required> </div>
As for the little transformation in the sedond part, it can use date too
@php echo date('d-m-Y', strtotime($invoice->saledate)); @endphp // or just {{date('d-m-Y', strtotime($invoice->saledate))}}