我正在处理票证日志,其中的票证在“完成”之前要进行多次编辑。
我有一个概述,您可以在其中看到所有票证,页面顶部是6个按钮。所有按钮都会打开带有表单的弹出窗口。第一个按钮是一个创建功能,它可以制作票证并填写第一信息。现在,所有其他字段均为NULL
。第二个按钮是第一个编辑按钮。
打开后会打开一个表单,用户可以在其中扫描条形码以填写第一个字段; Ticket Number
。该票证编号对于每个票证都是唯一的。接下来要填写的是您的凭据,该凭据来自下拉列表。
由于所有编辑表单均按Ticket_number(可从QR码扫描)进行工作,因此我将所有表单都放在同一页面上。因此,我目前无法执行action="{{ route('countries.update',$country->id) }}
之类的操作,因为我目前不知道ID。
这是所有内容背后的代码(您也可以看到我在这里尝试过的内容):
web.php:
// TICKET LOG ROUTES
Route::post('ticket/start-picking', 'TicketController@startpicking')->name('tickets.startpicking');
Route::resource('tickets', 'TicketController');
编辑表格:
<div id="modal-start-picking" class="modal">
<form method="POST" id="modal-start-picking-form" action="{{ route('tickets.startpicking') }}">
@csrf
<input type="text" value="modal-start-picking" name="type" hidden>
<div class="modal-content">
<h4>Start Picking</h4>
<p>Scan Ticket Number here</p>
<div class="input-field">
<label for="start">Ticket Number</label>
<input type="text" name="ticket_number" id="start" autofocus>
</div>
<div class="input-field">
<select id="picker" name="picker">
<option value="" disabled selected>Choose a Picker</option>
@foreach($employees as $employee)
<option {{(old('picker') == $employee->initials ) ? 'selected' : ''}} value="{{ $employee->initials }}">{{ $employee->initials }}</option>
@endforeach
</select>
</div>
</div>
<div class="modal-footer">
<input class="btn-flat" type="submit" value="Start Picking">
</div>
</form>
</div>
TicketController中的功能:
public function startpicking(Request $request, Ticket $ticket)
{
$request->validate([
'picker' => 'required',
]);
$ticket->update(array_merge($request->all(), ['picker_start_time' => Carbon::now()]));
return redirect()->route('tickets.index')->with('toast', 'Ticket updated successfully');
}
如果需要更多信息,我会很乐意更新我的帖子。
答案 0 :(得分:0)
我发现它是怎么做的。
$request->validate([
'picker' => 'required',
]);
Ticket::where('ticket_number', $posted_ticket_number)->update([
'picker' => $request->picker,
'picker_start_time' => Carbon::now(),
]);
您只需要使用::where('column', 'variable')
。
该变量是从我的表单中提取的(在我的情况下,这是票号。因为这是唯一的标识符。),该列不言自明。