Как сохранить несколько флажков - PullRequest
1 голос
/ 27 июня 2019

Мой стол:

{!! Form::open(['route' => ['finalHelper'], 'method' => 'POST']) !!}
    <table class="table table-striped finalcontrols" >
        <thead>
            <tr>
                <th>a</th>
                <th>b</th>
                <th>c</th>
                <th>d</th>
                <th>e</th>
                <th>f</th>
                <th>g</th>
                <th>h</th>
                <th>i</th>
                <th>j</th>
                <th>k</th
                <th>l</th>
                <th>V</th>
                <th>X</th>
                <th>m</th>
                <th>n</th>
            </tr>
        </thead>
        <tbody id="myDIV">
            @foreach($finalcontrols as $finalcontrol)
                <tr>
                    <td><a href="{{route('finalShowHelper',['id'=>$finalcontrol->id,'emp_id'=>$finalcontrol->employee_no])}}" onclick="myscrollfun()">
                        {{$finalcontrol->a}}</a>
                    </td>   
                    <td>{{$finalcontrol->b}}</td>
                    <td>{{$finalcontrol->c}}</td>
                    <td>{{$finalcontrol->d}}</td>
                    <td>{{$finalcontrol->e}}</td>
                    <td dir="ltr">{{$finalcontrol->f}}</td>
                    <td dir="ltr">{{$finalcontrol->g}}</td>
                    <td dir="ltr">{{$finalcontrol->h}}</td>
                    <td dir="ltr">{{$finalcontrol->i}}</td>
                    <td dir="ltr">{{$finalcontrol->j}}</td>
                    <td dir="ltr">{{$finalcontrol->k}}</td>
                    <td><textarea class="comment" id="comment" type="text" name="comment[]" rows="1" cols="28">{{$finalcontrol->l}}</textarea></td> 
                    <td><input {{old('is_proper[]',$finalcontrol->isproper)=="V"? 'checked':''}} type="checkbox"  name="is_proper[]" value="V"   /></td>
                    <td><input {{old('is_proper[]',$finalcontrol->isproper)=="X"? 'checked':''}} type="checkbox" name="is_proper[]" value="X" /></td>
                    <td>
                        <select class="check" id="rescoring" name="rescoring[]">
                            <option {{old('rescoring[]',$finalcontrol->m)=="לא"? 'selected':''}} value="לא" selected>לא</option>
                            <option {{old('rescoring[]',$finalcontrol->m)=="כן"? 'selected':''}} value="כן">כן</option> 
                        </select>
                    </td>
                    <td>{{$finalcontrol->n}}</td>
                    <td><input type="hidden" name="oper_id[]" value="{{$finalcontrol->id}}"></td>
                </tr>
            @endforeach
        </tbody>
    </table>
    {{Form::hidden('_method','PUT')}}
    {{Form::submit('save',['class'=>'btn btn-primary float-right', 'id'=>'save'])}}
{!! Form::close() !!}

<!-- begin snippet: js hide: false console: true babel: false -->
<td><input {{old('is_proper[]',$finalcontrol->isproper)=="V"? 'checked':''}} type="checkbox" class="isProper" name="is_proper[]" value="V"   /></td>
 <td><input {{old('is_proper[]',$finalcontrol->isproper)=="X"? 'checked':''}} type="checkbox" class="notProper" name="is_proper[]" value="X" /></td>

Пользователь может установить только один флажок на строку, и я хочу сохранить проверенное значение - "V" / "X".

Inконтроллер у меня есть:

    public function update(Request $request)
    {
        $oper_id = $request->oper_id;
        $comment = $request->comment;
        $rescoring = $request->rescoring;
        $isproper = $request->is_proper;

        foreach($oper_id as $key => $value){
            $finalcontrol = Finalcontrol::find($value);
            $finalcontrol->comment = $comment[$key];
            $finalcontrol->rescoring = $rescoring[$key];
            $finalcontrol->isproper = $isproper[$key];
            $finalcontrol->save();
            
            return redirect()->back()->with('success','Saved');        
    }

Дело в том, что контроллер сохраняет только записи первой строки в БД. Проблема началась, когда я добавил эти два тега checkbox, до того как все записи всех строк были сохранены.в основном.Кто-то может сказать мне, что я делаю неправильно с флажками?

1 Ответ

0 голосов
/ 27 июня 2019

В вашем контроллере

Я верю, что это вернет массив, который вы можете перебрать.

$request->input('element_name')

Чтобы увидеть все и понять, как возвращаются ваши данные, вы можете сделать

var_dump($request->input()->all());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...