首页 > 解决方案 > Laravel 在循环输入字段中获取旧值

问题描述

我有一些需要验证的表单输入。我想在这些循环输入字段中获取旧值。

@foreach ($periods as $key=>$value)
    @if (date('D', strtotime($value)) == 'Sun')
        @php continue; @endphp
    @endif
    <td>
        <div class="form-group">
            <select class="{{ $employee->id }} presence-value form-control" name="row[{{$key}}][presence_value]" required>
                <option value="">-- Pilih --</option>
                <option value="1" {{ 1 == old('row['.$key.'][presence_value]') ? 'selected' : '' }}>(1) Penuh Hari</option>
                <option value="0.5" {{ 0.5 == old('row['.$key.'][presence_value]') ? 'selected' : '' }}>(0,5) Paruh Hari</option>
                <option value="0" {{ 0 == old('row['.$key.'][presence_value]') ? 'selected' : '' }}>(0)Tidak Masuk</option>
            </select>
        </div>
    </td>
    <input type="hidden" class="{{ $employee->id }} presence-date" name="row[{{$key}}][presence_date]" value="{{ $errors->any() ? old('row['.$key.'][presence_date]') : $value }}">
@endforeach

标签: phplaravelvalidation

解决方案


old只有当它存储在会话中时,您才能使用助手获取旧值。

你能解释一下什么是行吗?它是一个php变量还是其他什么?

row[{{$key}}][presence_value]

推荐阅读