首页 > 解决方案 > 在 Laravel 中从具有 foreach 循环的选择标签传输数据

问题描述

您好,我知道它很简单,但我无法做到。

我有@foreach我的用户列表,(它有效)但我需要将选定的用户 ID 发送到另一个视图,但我总是在我的数据库中看到最后一个用户的 ID。如何保存循环中的数据?通过 $_POST?

<div class="container mt mb-4">
    @if ($errors->any())
        <div class="alert alert-danger">
            <ul>
                @foreach($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    @endif
    <h2>Edit </h2>
    <form method="POST" role="form">

        <input type="hidden" name="_token" value="{{ csrf_token() }}"/>
        <div>
            <select name="name" id="">
                @foreach($user as $us)
                    <option value="{{$us->id}}" >{{$us->name}} {{$us->lastname}}</option>

                @endforeach
            </select>
        </div>


    <a href="{{ URL::to('admin/paneladministratora/editUser/'. $us->id) }}">Edit </a>

    </form>
</div>

现在我的表单中有最后一个用户的 id,但我需要选择的用户的 id。

谢谢。

标签: phplaravel

解决方案


您在 foreach 循环之外访问 $us 对象,这就是为什么它只获取最后一个 userId,在 foreach 循环内添加链接。

<div class="container mt mb-4">
@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif
<h2>Edit </h2>
<form method="POST" role="form">

    <input type="hidden" name="_token" value="{{ csrf_token() }}"/>
      @foreach($user as $us)
                $option = '<option value="{{$us->id}}" >{{$us->name}} {{$us->lastname}} 
             </option>';
            <a href="{{ URL::to('admin/paneladministratora/editUser/'. $us->id) }}">Edit </a>
            @endforeach
    <div>
        <select name="name" id="">
            {!! $option !!}
        </select>
    </div>




   </form>
</div>

推荐阅读