【发布时间】:2018-01-08 17:53:49
【问题描述】:
我正在开发一个用户可以单击复选框的网页;任何用户都可以点击复选框,所有用户查看的结果都是一样的。因此,如果用户 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']);
编辑:我已经更新它以包含名称,但我仍然遇到同样的问题。
【问题讨论】:
-
复选框没有
name属性,因此它的值不会被发送。 -
@Miha_x64 我添加了它并没有改变任何东西。
标签: laravel laravel-5.5