我正在使用adminlte的多选。我不会获得多重选择的价值,我该如何获得它
dd($ request)
的输出查看
<select id="leave_status" name="leave_status[]" title="Leave Status"
class="form-control select2" multiple="multiple">
<option value="1">Alabama</option>
<option value="2">Alaska</option>
<option value="3">California</option>
<option value="4">Delaware</option>
<option value="5">Tennessee</option>
<option value="6">Texas</option>
<option value="7">Washington</option>
</select>
控制器
function searchLeaveStatus(Request $request){
$status = $request->input('leave_status');
$status = implode(',', $status);
$leave_list = LeaveStatus::whereIn('leave_status', $status)->get();
dd(leave_list );
}
输出
为foreach()提供的参数无效
答案 0 :(得分:3)
您必须使用以下功能将数据发送到控制器:
function getData(Request $request){
$items = $request->get('leave_status');
$selected_items = '';
foreach($items as $item){
\\ do something
$selected_items .= $item.',';
}
dd($selected_items);
}
以此,您可以获得选定的项目。
答案 1 :(得分:1)
不确定为什么要破坏该数组... whereIn
将尝试迭代您传入的$values
arg(第二个arg)。
LeaveStatus::whereIn('leave_status', $request->input('leave_status', []))->get();
Laravel Docs - 5.4 - Query Builder - Wheres - whereIn/whereNotIn
Laravel Docs - 5.4 - Requests - Retrieving Input - Retrieving Input Value