我正在嘗試更新票證(SET Deleted = TRUE因?yàn)槲疫€必須顯示已刪除的票證)。為此,我POST在表單上使用帶有票證 ID 的方法,但是當(dāng)表單提交時(shí),票證 ID 更改為最新的票證 ID。當(dāng)我檢查時(shí),我在操作中看到了確切的票證 ID,但在提交時(shí),它會(huì)發(fā)生變化。我也嘗試向它傳遞一個(gè)隱藏的輸入,但不幸的是它也被更改為最新的票證。刀刃<tbody>@foreach ($Tickets as $Ticket) <tr> <td>{{$loop->iteration}}</td> <td>{{$Ticket->Customer->Name}}</td> <td>$ {{$Ticket->Paid}}</td> <td>$ {{$Ticket->TDisc}}</td> <td>{{$Ticket->Tax}}</td> <td>{{ date("d M Y", strtotime($Ticket->Date))}}</td> <td class="text-right"> <a href="/Ticket/{{$Ticket->ID}}">EDIT</a> <a href="" onclick="event.preventDefault(); document.getElementById('Delete').submit();">DELETE</a> <form id="Delete" action="Ticket/{{$Ticket->ID}}" method="POST" style="display: one;"> <input type="hidden" name="ID" value="{{{{$Ticket->ID}}}}" @csrf </form> </td> </tr>@endforeach</tbody>控制器public function destroy(Request $request, $id) { dd($id); Ticket::where('ID', $id)->update(['Deleted' => TRUE]); return redirect()->back()->with('success', 'Ticket has been Deleted');}請(qǐng)幫我弄清楚我錯(cuò)過了什么。任何幫助都會(huì)很有價(jià)值。
1 回答

尚方寶劍之說(shuō)
TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
它不起作用的原因是您的代碼將始終針對(duì)第一個(gè)實(shí)例,因?yàn)閕d每個(gè)表單的 完全相同。
您不應(yīng)該id多次為任何元素設(shè)置相同的值。
更好的方法是像下面這樣,它將提交正確的表單(包含<a>標(biāo)簽的表單)。您還缺少 method 字段來(lái)告訴 laravel 這是一個(gè)刪除請(qǐng)求。
<form action="Ticket/{{$Ticket->ID}}" method="POST">
<input type="hidden" name="ID" value="{{$Ticket->ID}}">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<a href="" onclick="event.preventDefault(); this.parentNode.submit();">
DELETE
</a>
</form>
- 1 回答
- 0 關(guān)注
- 171 瀏覽
添加回答
舉報(bào)
0/150
提交
取消