Php Laravel |编辑页面上的复选框状态

Php Laravel |编辑页面上的复选框状态,php,laravel,checkbox,laravel-5.2,laravelcollective,Php,Laravel,Checkbox,Laravel 5.2,Laravelcollective,我在Laravel 5中有一个新案例的创建页面,在那里我可以将服务链接到该案例。这些服务是我的createCaseForm中的复选框。这些服务存储在DB中,因此我将其写入一个ManyToMany表,以获得具有多个服务的多个案例 示例: 创建案例1时,我会选中service1和service3的复选框。因此,现在许多表已正确填写。现在,当我转到案例的编辑页面时,我希望默认选中checkbox1和checkbox3,因为它们已经链接到manyToMany表中 我知道您可以使用类似Input::old

我在Laravel 5中有一个新案例的创建页面,在那里我可以将服务链接到该案例。这些服务是我的createCaseForm中的复选框。这些服务存储在DB中,因此我将其写入一个ManyToMany表,以获得具有多个服务的多个案例

示例: 创建案例1时,我会选中service1和service3的复选框。因此,现在许多表已正确填写。现在,当我转到案例的编辑页面时,我希望默认选中checkbox1和checkbox3,因为它们已经链接到manyToMany表中

我知道您可以使用类似Input::old('username');用于文本字段,但我不知道如何为复选框执行此操作

我大部分时间确实使用LaravelCollective,但对于这些复选框,我没有。所以,如果可能的话,我希望得到一个HTML解决方案。


谢谢

这是示例代码,您可以这样做,如果您使用的是刀片模板,那么就这样做,第三个参数为true/false以选中/取消选中复选框

{!! Form::checkbox('agree', 1, ($model->checkbox ==1?true:null), ['class' => 'field']) !!}
在这里,您将模型DB存储值传递给复选框(在第三个参数中)

快速答案

 @foreach($services as $service)
      <input type="checkbox" name="services[]" value="{{ $service->id }}"
           @if (count($case->services->where('id', $service->id)))
               checked
           @endif>
 @endforeach
那么在你看来,你可以像

 @foreach($services as $s)
      <input type="checkbox" name="{{ $s->name }}" value="{{ $s->service_id }}"
           @if( in_array($s->service_id, $case_services) ) checked="1" @endif />
 @endforeach
@foreach($s形式的服务)
服务\u id,$case\u服务)已选中=“1”@endif/>
@endforeach

我喜欢第二种解决方案,因为它更容易告诉我发生了什么,而且对我来说更容易预测。

请发布一些代码,请选择@endif//假设$case->some\u name包含布尔值(1或0)
 @foreach($services as $s)
      <input type="checkbox" name="{{ $s->name }}" value="{{ $s->service_id }}"
           @if( in_array($s->service_id, $case_services) ) checked="1" @endif />
 @endforeach