laravel 集体复选框表单

laravel collective checkbox form

我正在尝试在我的表单中实现复选框和 laravel 集合,但我在表单中只得到一个值,关于如何修复它的任何想法

{!! Form::open(array('action'=>'UserController@updateInfo','method'=>'post')) !!}
 Workdays:
<br>
{!! Form::label('monday', 'Monday') !!}
{!! Form::checkbox('workday', 'monday') !!}
<br>
{!! Form::label('tuesday', 'Tuesday') !!}
{!! Form::checkbox('workday', 'tuesday') !!}
<br>
{!! Form::label('wednesday', 'Wednesday') !!}
{!! Form::checkbox('workday', 'wednesday') !!}
<br>
{!! Form::label('thursday', 'Thursday') !!}
{!! Form::checkbox('workday', 'thursday') !!}
<br>
{!! Form::label('friday', 'Friday') !!}
{!! Form::checkbox('workday', 'friday') !!}
<br>
{!! Form::label('saturday', 'Saturday') !!}
{!! Form::checkbox('workday', 'saturday') !!}
<br>
{!! Form::label('sunday', 'Sunday') !!}
{!! Form::checkbox('workday', 'sunday') !!}
<br>
{!! Form::submit('Save', $attributes = ['class'=>'button']) !!}
{!! Form::close() !!}

当我打印我的请求时,我只得到一个输出(例如,选择星期一星期五,当处理请求时我只得到星期五)

标签也不起作用 - 对此也有想法?

试试这个: 当您 checked 多个 checkbox 时,您对每个 checkbox 使用了相同的名称,您只会得到最后一个值。

{!! Form::open(array('action'=>'UserController@updateInfo','method'=>'post')) !!}
 Workdays:
<br>
{!! Form::label('monday', 'Monday') !!}
{!! Form::checkbox('workday[]', 'monday') !!}
<br>
{!! Form::label('tuesday', 'Tuesday') !!}
{!! Form::checkbox('workday[]', 'tuesday') !!}
<br>
{!! Form::label('wednesday', 'Wednesday') !!}
{!! Form::checkbox('workday[]', 'wednesday') !!}
<br>
{!! Form::label('thursday', 'Thursday') !!}
{!! Form::checkbox('workday[]', 'thursday') !!}
<br>
{!! Form::label('friday', 'Friday') !!}
{!! Form::checkbox('workday[]', 'friday') !!}
<br>
{!! Form::label('saturday', 'Saturday') !!}
{!! Form::checkbox('workday[]', 'saturday') !!}
<br>
{!! Form::label('sunday', 'Sunday') !!}
{!! Form::checkbox('workday[]', 'sunday') !!}
<br>
{!! Form::submit('Save', $attributes = ['class'=>'button']) !!}
{!! Form::close() !!}

您为所有复选框使用了相同的名称(工作日)。这就是为什么它只显示具有该名称的最后一个复选框的原因

只需将所有名称改为工作日[]即可。

{!! Form::checkbox('workday[]', 'monday') !!}

这将 return 数组中所有选中的复选框。

您为所有复选框使用了相同的名称(工作日)。这就是为什么它只显示具有该名称的最后一个复选框的原因

{{ Form::checkbox('workday[]', 'monday') }}