Php Laravel通过错误重定向将ID从控制器传回视图
当更新失败并触发错误时,如何将$id从控制器传递回同一视图 我有一个视图,它可以打印数据库中的所有项目,还可以将编辑按钮添加到触发模式弹出窗口的每个项目中Php Laravel通过错误重定向将ID从控制器传回视图,php,laravel,laravel-5,laravel-5.3,Php,Laravel,Laravel 5,Laravel 5.3,当更新失败并触发错误时,如何将$id从控制器传递回同一视图 我有一个视图,它可以打印数据库中的所有项目,还可以将编辑按钮添加到触发模式弹出窗口的每个项目中 @for ($i =0; $i < count($inventory); $i++) <tr> <td> {{ $inventory[$i]->name }} </td>
@for ($i =0; $i < count($inventory); $i++)
<tr>
<td> {{ $inventory[$i]->name }} </td>
<td>
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal{{ $inventory[$i]->id }}">
Edit
</button>
但若输入并没有通过验证,那个么我就是在打印这样的错误
@include ('partials.notice')
@if($errors->any())
<script>
$(function() {
$('#myModal{{$id}}').modal('show');
});
</script>
@endif
@include('partials.notice'))
@如果($errors->any())
$(函数(){
$('#myModal{{$id}').modal('show');
});
@恩迪夫
如何将刚从控制器编辑的元素的$id传递回同一视图,以便在@if($errors->any())触发时,我可以弹出模态$('#myModal{{$id}}')。模态('show');使用我想要编辑的元素。在Laravel中,您可以将数据闪存到会话中。在您的示例中,您可以执行以下类似操作:
$request->session()->flash('idOfError', $id);
您可以通过以下方式访问它:
@if($errors->any())
<script>
$(function() {
$('#myModal{{session()->get("idOfError")}}').modal('show');
});
</script>
@endif
@if($errors->any())
$(函数(){
$('#myModal{{session()->get(“idOfError”)}}').modal('show');
});
@恩迪夫
您可以看到更多信息。谢谢您的回答,我试过这样做,但我的模态根本不会触发。由于某种原因,该ID似乎未存储在会话中。我没有收到任何错误,但弹出窗口就是不显示。为了确定是否应该添加$request->session()->flash('idOfError',$id);在我的控制器中?@BenasGasiūnas是的,在重定向之前,您应该将线路添加到控制器中。但是$id变量应该有你想要触发的模态的id。我按照你说的做了,它不起作用。这就像会话中的项目在重定向后消失一样。
$request->session()->flash('idOfError', $id);
@if($errors->any())
<script>
$(function() {
$('#myModal{{session()->get("idOfError")}}').modal('show');
});
</script>
@endif