我正在尝试将复选框数据插入数据库中,其中数据来自数据库, 这是表格:
<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]);
请帮帮我,
答案 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)
]);