我的一些复选框有问题。他们总是被检查,除非我把"假"在所有这些中。 如果" id"我有一个函数returnig。在数组中,它工作正常。但要么它返回true或false复选框仍然检查。 这是我的功能:
public function hasTipologia($id){
$array = $this->tipologias->lists('id');
MyHelpers::debugArray([$array,$id,in_array($id,$array)],false);
return in_array($id,$array);
}
MyHelpers向我展示了对ids的数量进行调整,当前ID为" Tipologia"如果它在阵列中或不在。
我视图中的代码是:
@if(count($tipologias))
<h4>Tipologías estratégicas</h4>
<div class="col-md-12">
@foreach($tipologias as $tipologia)
<div class="col-md-3">
{{ Form::checkbox('tipologias[]',$tipologia->id,$formacion->hasTipologia($tipologia->id)===true ?true:false , ['class' => 'form-control']) }}
{{$tipologia->nombre}}
</div>
@endforeach
</div>
@endif
我尝试使用不同的代码,如果我放了这个代码:
$formacion->hasTipologia($tipologia->id)===true ?false:false
仍然检查,并与此相同:
$formacion->hasTipologia($tipologia->id)===false ?true:false
我有make和@if然后插入两个表单,一个用true,一个用false,仍然检查。
有什么想法吗? 谢谢;)
答案 0 :(得分:1)
我遇到了同样的问题,最后通过以下方式解决了问题。
@if(count($tipologias))
<h4>Tipologías estratégicas</h4>
<div class="col-md-12">
@foreach($tipologias as $tipologia)
<div class="col-md-3">
{{ Form::checkbox('tipologias[]',$tipologia->id,(in_array($tipologia->id ,$formacion->tipologias()->select('tipologias.id')->lists('id')->ToArray()) ? true : false) , ['class' => 'form-control']) }}
{{$tipologia->nombre}}
</div>
@endforeach
</div>
@endif
这样你就可以根据$ formacion-&gt; tipologias()关系构建复选框并选择它们。注意select语句select(&#39; tipologias.id&#39;)其中tipologias应该是你的表名。我尝试过最简单的方法
{{ Form::checkbox('tipologias[]',$tipologia->id,(in_array($tipologia->id ,$formacion->tipologias()->lists('id')->ToArray()) ? true : false) , ['class' => 'form-control']) }}
我得到了&#34;模糊的列ID&#34; error.So无法省略select方法。