如果值为真,则应选中复选框
Checkbox should be checked if the value is true
这是我的代码。如果值为真,我想显示我的复选框,应该进行检查。但是我收到一条错误消息:
Property [id] does not exist on this collection instance
@foreach($benefits as $benefit)
<div class="form-check">
<label class="form-check-label" for="benefit[]">
<input class="form-check-input" type="checkbox" value="{{$benefit->id}}" id="benefit_id" name="benefit_id[]" @if($benefit->id == $user->benefits->id) checked @endif>{{$benefit->name}}
</label>
</div>
@endforeach
我想 $user->benefits
是一个包含多个 Benefit
对象的集合。您不能只获取集合的 属性,您需要检查该集合中的任何对象是否具有等于当前 id
.[=18= 的 id
属性 ]
一个可能的解决方案是在 Laravel 集合上使用 contains
函数。此函数将检查是否存在具有特定键的给定值的对象。
@if($user->benefits->contains('id', $benefit->id)) checked @endif
Blade 中更好的解决方案是
{{ $user->benefits->contains('id', $benefit->id) ? 'checked' : '' }}
这是我的代码。如果值为真,我想显示我的复选框,应该进行检查。但是我收到一条错误消息:
Property [id] does not exist on this collection instance
@foreach($benefits as $benefit)
<div class="form-check">
<label class="form-check-label" for="benefit[]">
<input class="form-check-input" type="checkbox" value="{{$benefit->id}}" id="benefit_id" name="benefit_id[]" @if($benefit->id == $user->benefits->id) checked @endif>{{$benefit->name}}
</label>
</div>
@endforeach
我想 $user->benefits
是一个包含多个 Benefit
对象的集合。您不能只获取集合的 属性,您需要检查该集合中的任何对象是否具有等于当前 id
.[=18= 的 id
属性 ]
一个可能的解决方案是在 Laravel 集合上使用 contains
函数。此函数将检查是否存在具有特定键的给定值的对象。
@if($user->benefits->contains('id', $benefit->id)) checked @endif
Blade 中更好的解决方案是
{{ $user->benefits->contains('id', $benefit->id) ? 'checked' : '' }}