我正在网页上工作,用户可以点击复选框;任何用户都可以单击该复选框,所有用户查看时结果都相同。因此,如果用户A选中该框,则用户B将其视为已选中。如果用户B然后取消选中它,则用户A将其视为未选中。
我可以通过复选框显示数据库中的值,但是当用户点击复选框时,我似乎无法在数据库中更改和更新值。
我的刀片布局如下:
<form method="POST" action="{{ action('QuestionController@answered', $question->id) }}" role="form">
{{ csrf_field() }}
<input type="checkbox" id="answered" name="answered" value="0" @if($question->answered == 1) checked @endif> Answered
</form>
我的控制器中的功能如下所示:
public function answered(Request $request, $id)
{
$request->request->add(['answered_userid' => $this->userId]);
$this->validate($request, [
'answered' => 'required',
'answered_userid' => 'required'
]);
Question::find($id)->update($request->all());
}
}
而且,在我的路线文件中,我有这个:
Route::post('questions/answered', ['as' => 'questions.answered', 'uses' => 'QuestionController@answered']);
编辑:我已将其更新为包含该名称,但我仍遇到同样的问题。
答案 0 :(得分:0)
您必须在输入中设置名称。请求将使用输入的name
作为参数:
<input type="checkbox" name="answered" id="answered" value="0" @if($question->answered == 1) checked @endif>
答案 1 :(得分:0)
设置名称及其值
<input type="checkbox" name='answered' {{$question->answred ==1 ? Value="1" checked : value="0"}}>