我有一个表单,用户可以选择一个或多个复选框,如下所示:
{!! Form::Label('faults', 'Please select one of the following that best describes your device') !!}
<div class="form-group">
@foreach($faults as $fault)
<div class="col-md-4">
<span><i class="fa fa-question-circle" rel="popover" data-content="{{$fault->fault_tooltip}}"></i></span>
<label class="checkbox-inline">
<input id="faults" type="checkbox" name="faults[]" value="{{$fault->id}}">{{$fault->fault}}
</label>
</div>
@endforeach
</div>
现在在我的控制器中,我得到了这样的错误输入:
$faults = Input::get('faults');
这会返回一个数组,其中包含每个错误的ID,如下所示:
array:2 [▼
0 => "37"
1 => "36"
]
我需要遍历数组,找到我的故障表中的每一行,匹配数组中的每个id,并获得其他值,如$ fault-&gt; name和$ fault-&gt; price。
我知道这很容易,但我从编码开始,我无法理解。
非常感谢任何帮助。
由于
答案 0 :(得分:1)
$slectedFaults = Input::get('faults');
如果您在\ App \目录中有故障模型,请按照
进行操作$faults = Faults::whereIn('id',$slectedFaults)->get();
或通过以下方式进行
$faults = App\DB::table('faults')->whereIn('id',$slectedFaults)->get();
$ faults已从您的数据库中选择数据,然后执行其余操作
$nameArray = [];
foreach($faults as $fault) {
$nameArray[] = $fault->name;
//do your thing here
}
print_r($nameArray); //it will print all fault names
答案 1 :(得分:0)
你有Faults
型号吗?如果是的话:
$faults = Faults::findMany(Input::get('faults'));
foreach($faults as $fault) {
//do your thing here
}
否则使用表格:
$faults = DB::table('faults')
->select()
->whereIn('id',Input::get('faults'))
->get();
foreach($faults as $fault) {
//do your thing here
}