【问题标题】:Laravel input loopLaravel 输入循环
【发布时间】:2019-05-24 12:56:54
【问题描述】:

我尝试循环我的编辑表单。但 foreach 循环不起作用。有人可以帮忙吗?

@foreach($siswas as $siswa)
<form id="editform" action="{{route(siswa.update, $siswa->id}}" method="post">
        @method('PATCH')
        @csrf
      <div class="modal-body">
          <div class="form-group">
            <label for="nama" class="col-form-label">Nama</label>
            <input type="text" value="{{$siswa->nama}}" id="nama" name="editNama" class="form-control" >
          </div>
      </div>
</form>
@endforeach

【问题讨论】:

  • 请出示您的编辑功能代码

标签: laravel forms loops foreach


【解决方案1】:

您应该在表单 ID 中加入 siswa:

@foreach($siswas as $siswa)
<form id="editform-{$siswa->id}" action="{{route(siswa.update, $siswa->id}}" method="post">
        @method('PATCH')
        @csrf
      <div class="modal-body">
          <div class="form-group">
            <label for="nama-" class="col-form-label">Nama</label>
            <input type="text" value="{{$siswa->nama}}" id="nama" name="editNama" class="form-control" >
          </div>
      </div>
</form>
@endforeach

【讨论】:

    【解决方案2】:

    那里有几个错误:

    • 路由名称应该是一个字符串(用引号引起来),
    • 路由参数应该是一个关联数组,
    • 在提供的示例中,缺少右括号

    (假设Route中的参数是id),试试

    {{ route('siswa.update', ['id' => $siswa->id]) }}
    

    Laravel named routes.

    【讨论】:

    • 输入值怎么样,我尝试使用'old()'函数但它不起作用
    • 问题是循环中所有字段的名称相同(即editNama)字段名称重复。也许你想在那里有不同的名字——例如在它后面加上'_' . $siswa-&gt;id。然后你可以试试{{ optional(old('editNama_' . $siswa-&gt;id)) != null ? old('editNama_' . $siswa-&gt;id) : $siswa-&gt;nama }}
    【解决方案3】:

    你应该试试这个:

    您的编辑功能如下:

    public function edit($id)
        {
    
            $siswas = Yourmodel::find($id);
            return view('yourviewpath',compact('siswas'));
    
        }
    

    您的视图文件如下:

    <form id="editform" action="{{route(siswa.update, [$siswas->id]}}" method="post">
            @method('PATCH')
    
            @csrf
          <div class="modal-body">
              <div class="form-group">
                <label for="nama" class="col-form-label">Nama</label>
                <input type="text" value="{{ old('editNama', $siswas->nama) }}" id="nama" name="editNama" class="form-control" >
              </div>
          </div>
    </form>
    

    【讨论】:

      猜你喜欢
      • 2015-11-28
      • 1970-01-01
      • 2014-12-28
      • 2012-07-29
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      相关资源
      最近更新 更多