Problema Using Query Builder WhereIn
Publicado por álvaro (1 intervención) el 10/09/2019 18:43:00
Buen día, tengo un Multiselect que almaceno en un Input Oculto, para luego enviarlo por Ajax al Controlador y dibijar la dataTable con Base en los Items Seleccionados. Lo cual Hace siempre y cuando se seleccione un sólo item, si es más de uno no trae nada. El código es este:
La vista:
JavaScript de La vista:
El Controlador:
Es puntualmente el paso de la variable apoVar al WhereIn lo que no funciona cuando el Select tiene más de un ítem.
De antemano muchas gracias,
La vista:
1
2
3
4
5
6
7
8
9
10
11
12
<select name="multi_search_filter" id="multi_search_filter" multiple class="form-control selectpicker">
@foreach($filt_CES as $ces)
<option
value="'{{$ces->clasific_estrat}}'"
data-content="<span class='badge badge-aqua'>
{{$ces->clasific_estrat}}
</span>">
</option>
@endforeach
</select>
<input name="hidden_country" type="hidden" id="hidden_country" />
<div style="clear:both"></div>
JavaScript de La vista:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$('#multi_search_filter').change(function(){
$('#hidden_country').val($('#multi_search_filter').val());
});
function fetch_data(from_date = '', to_date = '', apoVar = '')
{
$.ajax({
url:"{{ route('fetch_data') }}",
method:"POST",
data:{from_date:from_date, to_date:to_date, apoVar:apoVar, _token:_token},
dataType:"json",
success:function(data)
{
var output = '';
$('#total_records').text(data.length);
for(var count = 0; count < data.length; count++)
{
output += '<tr>';
output += '<td>' + data[count].brand + '</td>';
output += '<td>' + data[count].type + '</td>';
output += '<td>' + data[count].clasific_estrat + '</td></tr>';
}
$('tbody').html(output);
}
})
}
El Controlador:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function fetch_data(Request $request)
{
if($request->ajax())
{
if($request->apoVar != '')
{
$data = DB::table('mix_net_amount')
->whereIn ('clasific_estrat', [$request->apoVar])
->get();
}
else
{
$data = DB::table('mix_net_amount')->orderBy('clasific_estrat', 'desc')->get();
}
echo json_encode($data);
}
}
Es puntualmente el paso de la variable apoVar al WhereIn lo que no funciona cuando el Select tiene más de un ítem.
De antemano muchas gracias,
Valora esta pregunta


0