【问题标题】:Laravel. Route passing incorrrect parameter to destroy() in foreach loop拉拉维尔。在foreach循环中将不正确的参数传递给destroy()
【发布时间】:2018-12-21 21:04:13
【问题描述】:

我正在使用 Laravel 5.6.26。当我尝试通过将 id 发送到 destroy() 来删除特定帖子时,它会在刀片上显示正确的 id。但是当我在 PostsController dd($id) 时,它显示不同的 id。为什么?谁能给我解释一下?谢谢!

home.blade.php

@foreach($posts as $post)

  <div class="jumbotron" style="background-color:#b3e0ff">

    <div class="btn-group float-right">
      <span  class="btn btn-default dropdown-toggle " data-toggle="dropdown">
         </span>

          <ul class="dropdown-menu" role="menu" id="{{$post->id}}">
            <li><a href="#">Edit</a></li>
            <li>


            <a href="#" onclick=" 
                var result = confirm('Are you sure you wish to delete this {{$post->id}}?');
                    if( result ){
                            event.preventDefault();
                            document.getElementById('delete-form').submit();

                    } "> Delete
            </a>

            <form id="delete-form" action="{{ route('posts.destroy',['$id'=> $post->id]) }}"  method="POST" style="display: none;">

                      <input type="hidden" name="_method" value="delete">
                      {{ csrf_field() }}

                       {{ method_field('DELETE') }}
            </form>


          </li>

          </ul>
    </div>@endforeach {{ $posts->links() }}

刀片警报

https://imgur.com/jGuwL6U

PostsController.php

public function destroy($id)
{
    //

    dd($id);

}

dd

https://imgur.com/k8dpxG6

但是当我尝试将路由参数修改为此

route('posts.destroy',['$id'=> 5]) }}

我在 PostsController 中得到了正确的 dd 5。

web.php

Route::resource('posts', 'PostsController');

【问题讨论】:

  • posts.destroy 是路由名称吗?显示路由文件
  • post.destroy 不是名称路由
  • {!! method_field('DELETE') !!}
  • 源代码看起来如何?
  • action="{{ route('posts.destroy',['$id'=> $post->id]) }}" not 将代替 route('posts.destroy' ,['$id'=> $post->id]) 使用 url('posts.destroy',['$id'=> $post->id])

标签: php laravel foreach


【解决方案1】:

问题解决了。我没有得到正确的id,只需要修改这个

delete-form

到这里

delete-form_{{$post->id}}

【讨论】:

    猜你喜欢
    • 2020-06-19
    • 2018-05-11
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多