通过laravel中的复选框插入数据

时间:2020-04-10 14:07:53

标签: laravel checkbox

我正在尝试将复选框数据插入数据库中,其中数据来自数据库, 这是表格:

<form action="{{ $action }}" method="post" enctype="multipart/form-data">
                                @csrf()
                                @if(!empty($method)) @method($method) @endif
                                <table class="table table-striped table-bordered table-hover" id="dataTables-example">   
                                    @foreach($users as $k=>$u)
                                    <tr>
                                        <td><input type="checkbox" name="user_id[]" value="{{ $u->id }}"></td>
                                        <td>{{ $u->name }}</td>
                                        <td>{{ trim($evtitle) }}</td>
                                        <td>{{ trim($evteacher) }}</td>
                                    </tr>
                                    @endforeach
                                </table>
                                <input type="text" name="question_id[]" value="{{ trim($evid) }}">
                                <input type="submit" class="btn btn-lg btn-success" value="Share" name="btn_btn_add_product">
                            </form>

这是控制器:

$rs = ShareQuestion::create([
            'user_id' => $request->input('user_id'),
            'question_id' => $request->input('question_id')
        ]); 

        if($rs)
        {
          $message = array('flag'=>'alert-success', 'message'=>'Successfully');
          return redirect()->route('auth.question.index')->with(['message'=>$message]);
        }

        $message = array('flag'=>'alert-danger', 'message'=>'Please try again');
        return redirect()->route('auth.question.share')->with(['message'=>$message]);

请帮帮我,

2 个答案:

答案 0 :(得分:0)

我认为这是问题所在,因为未选中您的复选框,因此数据不会传递到控制器功能。

因此从(如果要发送所有user_id)更改

<td><input type="checkbox" name="user_id[]" value="{{ $u->id }}"></td>

<td><input type="checkbox" name="user_id[]" checked value="{{ $u->id }}"></td>

或者您可以通过以下方式传递已检查属性的条件:

{{ Form::checkbox('user_id[]',$u->id,true, array('class'=>'some_class')) }}

答案 1 :(得分:0)

$ request-> user_id $ request-> question_id ,必须使用 json_encode()方法

$rs = ShareQuestion::create([
            'user_id' => json_encode($request->user_id),
            'question_id' => json_encode($request->question_id)
        ]); 
相关问题