У меня есть форма, в которой я прошу пользователя отметить свою посещаемость, я отправляю Carbon::now()
в качестве скрытого ввода по умолчанию, когда пользователь нажимает кнопку, он должен быть сохранен в базе данных, но проблема в том, что у меня есть четыре поля, подобные этому, и всякий раз, когда я нажимаю кнопку отправки, в нем хранятся все значения поля. Я новичок в этом деле, пожалуйста, помогите мне.
Я в том числе и код.
Вид:
<div class="card" style="max-width: 600px; margin:auto; margin-bottom:50px;margin-top:40px;">
<div class="card-header" style="text-align:center">
Today: @php $today = \Carbon\Carbon::now()->format('d-m-Y'); @endphp {{$today}}
</div>
<form action="{{ route('timesheet.store') }}" method="POST">
@csrf
<div class="card-body">
@php
$now = \carbon\Carbon::now();
@endphp
<ul class="list-group">
<li class="list-group-item">
<label for="in_time">Day start</label>
<input name="in_time" type="datetime" style="display:none" value="{{$now}}">
<span style="float:right"><button type="submit" class="btn btn-success btn-sm">Mark</button></span>
</li>
<li class="list-group-item">
<label for="break_out">Break-out</label>
<input name="break_out" type="datetime" style="display:none" value="{{$now}}">
<span style="float:right"><button type="submit" class="btn btn-success btn-sm">Mark</button></span>
</li>
<li class="list-group-item">
<label for="break_in">Break-in</label>
<input name="break_in" type="datetime" style="display:none" value="{{$now}}">
<span style="float:right"><button type="submit" class="btn btn-success btn-sm">Mark</button></span>
</li>
<li class="list-group-item">
<label for="out_time">Day end</label>
<input name="out_time" type="datetime" style="display:none" value="{{$now}}">
<span style="float:right"><button type="submit" class="btn btn-success btn-sm">Mark</button></span>
</li>
</ul>
</div>
</form>
</div>
Контроллер:
public function store(Request $request)
{
Timesheet::create([
'in_time' => request('in_time'),
'out_time' => request('out_time'),
'break_out' => request('break_out'),
'break_in' => request('break_in'),
'user_id' => Auth::user()->id,
]);
return redirect()->route('timesheet.create')
->with('success', 'Attendance marked successfully.');
}
Что мне нужно сделать, это:
- Когда пользователь нажимает кнопку «Пометить», ему следует сохранить значение этого конкретного поля и остальные поля с нулем, поскольку все столбцы могут иметь значение NULL.
- Как только пользователь нажмет кнопку и значение будет успешно сохранено в БД, кнопка должна быть заменена кнопкой отметки и отключена до следующего дня, то есть до полуночи.
Любая помощь будет высоко оценена.
Извините за неправильное форматирование вопроса, так как не использовал переполнение стека.