Показывать значение поля даты после отправки формы

Я использую ввод даты Bootstrap, чтобы выбрать дату в моей форме. Я хотел бы сохранить дату после отправки формы. Прошло несколько дней с тех пор, как я начал исследования, но до сих пор не нашел решения. В моем проекте я использую Laravel 5.4, а для дат я использую Carbon. Laravel-х

    {{ old('input_date') }}

просто не работает. Если бы кто-нибудь мог помочь мне найти решение, это было бы очень ценно.

Это мой код контроллера:

public function showMisHistory () {
$mises = '';
return view('uploads.mis_history', [
'mises' => $mises,
]);
}
public function showMisHistoryBetweenDates (Request $request) {
$this->validate($request, [
'start_date' => 'required',
'end_date' => 'required',
]);
$mises = Mis::where('uploader_pin', Auth::user()->pin)->whereBetween('date_of_data_type', array($request->start_date, $request->end_date))->get();
// $mises = Mis::where('uploader_pin', Auth::user()->pin)->get();
$totalLoanAmount = collect($mises)->sum('principal_loan_amount');
$totalPremium = collect($mises)->sum('premium');
$row_number = 1;
return view('uploads.mis_history', [
'mises' => $mises,
'totalLoanAmount' => $totalLoanAmount,
'totalPremium' => $totalPremium,
'row_number' => $row_number,
]);
}

И это форма, которую я использую.

<form action="{{ route('misHistoryBetweenDates') }}" method="POST" class="date-search-form">
{{ csrf_field() }}
<div class="col-md-5">
<div class="form-group">
<label class="col-sm-2 control-label">From</label>
<div class="col-sm-10">
<input type="date" name="start_date" class="form-control" value="{{ old('start_date') }}">
</div>
@if (old('start_date'))
<label class="col-sm-2 control-label"></label>
<div class="col-sm-10">
<span id="helpBlock" class="help-block">{{ old('start_date') }}</span>
</div>
@endif
</div>
</div>
<div class="col-md-5">
<div class="form-group">
<label class="col-sm-2 control-label">To</label>
<div class="col-sm-10">
<input type="date" name="end_date" class="form-control" value="{{ old('end_date') }}">
</div>
@if (old('end_date'))
<label class="col-sm-2 control-label"></label>
<div class="col-sm-10">
<span id="helpBlock" class="help-block">{{ old('end_date') }}</span>
</div>
@endif
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<input type="submit" name="submit" class="btn btn-primary">
</div>
</div>
</form>

1

Решение

Вы не вернете старый ввод. Laravel Require для возврата ввода с использованием метода withInput

public function showMisHistoryBetweenDates (Request $request)
{
$this->validate($request, [
'start_date' => 'required',
'end_date' => 'required',
]);
$mises = Mis::where('uploader_pin', Auth::user()->pin)->whereBetween('date_of_data_type', array($request->start_date, $request->end_date))->get();
// $mises = Mis::where('uploader_pin', Auth::user()->pin)->get();
$totalLoanAmount = collect($mises)->sum('principal_loan_amount');
$totalPremium = collect($mises)->sum('premium');
$row_number = 1;
return view('uploads.mis_history', [
'mises' => $mises,
'totalLoanAmount' => $totalLoanAmount,
'totalPremium' => $totalPremium,
'row_number' => $row_number,
])->withInput($request->all());

}

Я надеюсь, что это будет полезно для вас.

1

Другие решения

Я решил проблему, отправив start_date а также end_date по отдельности. Вот что я сделал:

public function showMisHistoryBetweenDates (Request $request) {
$this->validate($request, [
'start_date' => 'required',
'end_date' => 'required',
]);
$start_date = $request->start_date;
$end_date = $request->end_date;
$mises = Mis::where('uploader_pin', Auth::user()->pin)->whereBetween('date_of_data_type', array($request->start_date, $request->end_date))->get();
$totalLoanAmount = collect($mises)->sum('principal_loan_amount');
$totalPremium = collect($mises)->sum('premium');
$row_number = 1;
return view('uploads.mis_history', [
'mises' => $mises,
'totalLoanAmount' => $totalLoanAmount,
'totalPremium' => $totalPremium,
'row_number' => $row_number,
'start_date' => $start_date,
'end_date' => $end_date,
]);

}

И в представлении:

<form action="{{ route('misHistoryBetweenDates') }}" method="POST" class="date-search-form">
{{ csrf_field() }}
<div class="col-md-5">
<div class="form-group">
<label class="col-sm-2 control-label">From</label>
<div class="col-sm-10">
<input type="date" name="start_date" class="form-control" value="{{ $start_date }}">
</div>
</div>
</div>
<div class="col-md-5">
<div class="form-group">
<label class="col-sm-2 control-label">To</label>
<div class="col-sm-10">
<input type="date" name="end_date" class="form-control" value="{{ $end_date }}">
</div>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<input type="submit" name="submit" class="btn btn-primary">
</div>
</div>
</form>

Это не то, что я искал, но сейчас решает проблему.

1

По вопросам рекламы [email protected]