Php Laravel通过错误重定向将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>

当更新失败并触发错误时,如何将$id从控制器传递回同一视图

我有一个视图,它可以打印数据库中的所有项目,还可以将编辑按钮添加到触发模式弹出窗口的每个项目中

@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