У меня есть представление с полем ввода даты и таблицей внизу. Таблица заполняется в соответствии с введенной датой. Когда вводится дата, я использую метод POST в форме, которая обрабатывает запрос БД и возвращает тот же вид с данными. Я также хотел бы вернуть исходную дату, которая была введена. Я пробовал session()->keep
и flashOnly
методов. Ни один из них не возвращает дату ввода в представление. Мой контроллер:Laravel 5 session() -> метод не работает
public function groupTestAthletes(Request $request)
{
$inputDate = null;
$tests = null;
if ($request['tgroupdate']){
$inputDate = Carbon::createFromFormat('d/m/Y', $request['tgroupdate']);
$tests = Test::where('test_date', '=', $inputDate->format('Y-m-d'))
->orderBy('athlete_id', 'desc')
->get();
}
$request->session()->keep(['tgroupdate']);
//$request->flashOnly(['tgroupdate']);
return view('npr.test_athletes', ['tests' => $tests]);
Мое мнение:
<form class="form-inline" role="form" method="POST" action="{{ route('admin.search_tgroup') }}">
{{ csrf_field() }}
<div class="form-group">
<label for="tgroupdate" class="control-label">Test Date</label>
<div class="input-group date" id="testgroupdatepicker">
<input name="tgroupdate" type="text" style="background-color:#ffffff" readonly=""
value="{{ Session::get('tgroupdate') }}" class="form-control">
<div class="input-group-addon">
<span class="glyphicon glyphicon-th"></span>
</div>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">Search Athletes
</button>
<input type="hidden" name="_token" value="{{ Session::token()}}">
</div>
</form>
Большое спасибо. Ваш '$ selected_date' должен быть только в фигурных скобках. Теперь я могу видеть старую дату, но если я снова нахожу «Поиск спортсменов» (без изменения ввода), я получаю сообщение об ошибке: «Неожиданные данные найдены. Данные трейлинга», ссылающиеся на эту строку '$ inputDate = Carbon :: createFromFormat ('d/m/Y ', $ request [' tgroupdate ']); ' Должен ли я поместить это в другой вопрос? – louisav
Нет необходимости в фигурных скобках вокруг '$ selected_date', '@' открывает и закрывает тег php. И об ошибке, 'print_r ($ request ['tgroupdate']); die(); 'проверьте, если вы получаете правильный формат даты. –
Если я не использую фигурные скобки, он фактически печатает слово «$ selected_date» в поле даты. 'Die()' создал правильный формат: 12/10/2016 – louisav